发表回复 
AHK操作word com对象的向纵深发展的疑问!
2012-11-16, 11 : 11
AHK操作word com对象的向纵深发展的疑问!
[i=s] 本帖最后由 善源 于 2012-11-19 12:41 编辑 [/i]

通过word := Comobjcreate("Word.Application") 引用微软的word对象,能够使用word的非常多的功能,例如控制新建word,关闭wrod,在word中输入内容等等!

现在我有一些疑问,还望版主、高手不吝赐教:
1、AHK能操做word对象使其没有菜单栏吗?注意不是AHK的功能,比如通过操作word对象,使其新建一个doc文件,这个新建的doc文件没有菜单栏,或者没有其​他菜单。

2、vb也可以调用application对象,ahk也可以调用这个对象。其他语言也可以调用这个对象,请问AHK调用这个对象使用的语法与其他语言相比有什么规律?这​些资料在那里可以知道呢?论坛没有教程。官网貌似也没有。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2012-11-18, 19 : 44
 
AHK操作word com对象的向纵深发展的疑问!求答案!
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2012-11-18, 20 : 37
 
人气好旺的说……
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2012-11-18, 22 : 35
 
1.
這就要看MSDN了
以WORD 2013為例:
http://msdn.microsoft.com/en-us/library/...37519.aspx
還滿多功能的
可能有也可能沒有你需要的
你說的關閉菜單,英文應該是要關閉Ribbon這個吧?

2.
也是要翻翻MSDN看看WORD裡面有什麼對象(object)、方法(method)、屬性(properties)、事件(event)等可以調用。
在調用WORD對象(object)時可以用
代码: (全选)
ComObject := ComObjCreate(CLSID [, IID])
這裡的CLSID是Class ID,由16進位組成的16個byte
IID是Interface ID,也是由16進位組成的16個byte
或者也可以使用另一種表示法ProgID,系統會自動調用IDispatch接口(interface),這時就免輸入IID了

譬如說你要創建並開啟一個新的word文件
輸入hello world
然後五秒後自動關閉不儲存
代码: (全选)
word:=comobjcreate("word.application")
word.documents.add
word.selection.typetext("hello world")
word.visible:=1
sleep,5000
word.quit(0)
當然documents不是只有add能用
selection也不是只有typetext能用
其他的功能在MSDN中有展示

學習中:)
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2012-11-22, 22 : 39
 
在網路上搜尋 覺得Word的COM調用與內建VBA的調用的物件內容非常類似,
且WORD本身自己錄製巨集比AutoHotKey穩定許多而直接
線上說明也比MSDN好查得多...參考VBA的說明文件應該會很有幫助
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


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