发表回复 
ComObjActive() 找不到正在运行的 Excel 应用程序!求解?
2011-03-04, 12 : 08 (这个帖子最后修改于: 2015-11-25 08 : 15 by robertL.)
ComObjActive() 找不到正在运行的 Excel 应用程序!求解?
[i=s] 本帖最后由 纳. 于 2011-3-10 00:03 编辑 [/i]
ComObjActive("Excel.Application") 找不到正在运行的 Excel 应用程序

如果Excel的启动,是通过点击任意一个 xls文件 而启动excel.exe程序的话
ComObjActive("Excel.Application") 成功

但是如果Excel的启动,是通过运行excel.exe直接启动的话
ComObjActive("Excel.Application") 则失败

原以为是ComObjActive() BUG
在官网上发帖
http://www.autohotkey.com/forum/viewtopic.php?t=69124
之后从官网上得知是 Excel 自身的问题

微软官方的解释是
http://support.microsoft.com/kb/238610
并提供了VB 及 C++ 的解决方案

请问各种大虾,用AHK 如何解决这个问题?
3#
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-03-04, 13 : 22
 
补充,目前我只能通过 Result := IsObject(objExcel)
来判断ComObjActive()是否成功
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-03-10, 00 : 02 (这个帖子最后修改于: 2015-11-25 08 : 16 by robertL.)
 
在官网上找到解决方法,但前提要调用acc.ahk L版
代码: (全选)
ControlGet, hwnd, hwnd, , Excel71, ahk_class XLMAIN
objExcel := Acc_ObjectFromWindow(hwnd, -16).Application
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 1用户表示感谢纳.
2011-03-17, 00 : 34
 
非常感謝楼主的无私分享
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2015-07-27, 23 : 36
RE: ComObjActive() 找不到正在运行的 Excel 应用程序!求解?
office 2013版本,该办法已经失效,请问该怎么办????
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2015-11-24, 10 : 53
RE: ComObjActive() 找不到正在运行的 Excel 应用程序!求解?
mark~~
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合