找回密码
 加入
搜索
查看: 2169|回复: 0

[系统综合] 关于AutoitObject的一个问题

[复制链接]
发表于 2013-5-28 23:23:38 | 显示全部楼层 |阅读模式
这两天在学习Ward大神的au3内置fasm汇编的代码。
其中一个功能很令人感兴趣,就是将fasm做成object的形式,然后可以用ObjGet("AutoIt.FASM")的形式来调用。这个代码是用AutoitObject这个文件实现的。

既然能用ObjGet的形式来调用au3的代码,那就是表示可以用js或者vbs写代码来调用au3写的程序了
那就表示我们也可以用全新的方式来制作excel插件,而不用excel的udf来实现au3操作excel了。
可以在excel中写代码,au3写界面,因为excel vba画出来的窗体既难看,功能也不强,而vba代码写在excel中,比au3直接操作excel的速度要快多了。

例如:au3写的界面中有个按钮控件,点击按钮,就能运行excel中的宏。
当然了,不是在au3中使用
$obj=ObjGet("", "excel.Application")
$obj.Application.run(宏)
这样的方式

而是
将au3程序写成一个AutoIt.window的类
然后在excel中使用ObjGet("AutoIt.window")获取au3的类 ,进行交互
当在au3程序的窗体中点击按钮控件时,在excel中直接就运行宏


思考到这里,就卡在一个难题上,就是怎么在excel vba代码中获得au3界面的控件点击信息??
是在au3中写个事件的类,然后再excel中调用这个事件,不断检测是否在au3的界面中点击了按钮,还是另外的方法。

望有人解惑
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-18 13:07 , Processed in 0.068552 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表