找回密码
 加入
搜索
查看: 11929|回复: 25

[系统综合] 诚心求指导:AU3调用EXCEL VBA的代码是多少?

 火.. [复制链接]
发表于 2012-1-25 16:54:20 | 显示全部楼层 |阅读模式
各位版主 高手 大侠你们好! ^_^

我非常希望学好这个软件啊  我工作中用到这个实在是太多了!

以前我是用按键精灵的 不过觉得这个比按键精灵好多了 所以立刻换为学习AUTOIT3!!


我的EXCEL用VBA写好了宏的了,请问打开一个工作表后,如何写代码让AU3运行宏?
比如Marco1   Marco2 怎么让它运行?模拟按键点太低级了,调用API才爽啊~~

诚心求指导,非常感谢!!


另外用AUTOIT操作网页和邮件应该系统学习什么知识?看论坛毕竟不是系统知识,
各种级别的代码需要各种级别的基础知识去理解和掌握,打好基础才能学好啊!

希望大家推荐点好书吧,既能有实际操作之大用,又能打好理论知识的就完美了。
单纯局限于有限的实操和拘泥于理论知识的都不是好书,既完善基础概念但不拘
泥其中才是高手啊,求好书就是求好老师,希望少走弯路,希望论坛高手和斑竹
发发意见,谢谢啦!!
 楼主| 发表于 2012-1-25 16:56:56 | 显示全部楼层
我学习VBA时候就发现

虽然写出来的功能好像都一样

但是其实系统地学习各项基础概念 是多么重要啊!!
 楼主| 发表于 2012-1-25 17:27:03 | 显示全部楼层
网页操作我不需要非常深的,基本上有:
1   页面跳转
2   页面元素赋值
3   页面元素点击(包括有下拉框的)

就OK了 不知道这3点的AN3代码是多少呢?
发表于 2012-1-25 17:30:08 | 显示全部楼层
“我的EXCEL用VBA写好了宏的了,请问打开一个工作表后,如何写代码让AU3运行宏?”

记得是把宏放在固定目录下就ok的,不需写代码。
如果打开另外外部数据连接,选取“选项”里面的某项就行了,2个地方改改而已。
 楼主| 发表于 2012-1-25 17:57:09 | 显示全部楼层
bhwhui 您好,因为我用到的表格很多,页数也很多,

我用AU3打开EXCEL和激活了相应页面后,不知道运行里面的宏(一般都是宏按钮)的AU3代码是什么呢?
发表于 2012-1-25 19:40:17 | 显示全部楼层
 楼主| 发表于 2012-1-25 19:44:59 | 显示全部楼层
谢谢netegg !

是不是 $oExcel.Run("Macro1")
这句就OK了?

运行某页的宏代码应该是很简单的句子就OK了吧 ^^
发表于 2012-1-25 20:12:08 | 显示全部楼层
回复 7# _LK_一生所爱
excel macro也可以看成是一个完整的对象,不过是excel环境里的
发表于 2012-1-25 20:20:46 | 显示全部楼层
也可以看看这里,看是否合适你:http://www.autoitx.com/thread-28910-1-1.html
发表于 2012-1-26 13:49:16 | 显示全部楼层
不要激活了再操作,影响速度,用with语句吧
发表于 2012-1-26 14:17:06 | 显示全部楼层
不要激活了再操作,影响速度,用with语句吧
kevinch 发表于 2012-1-26 13:49



    兄弟, 有时间给点实例吧!
看过不少您的帖子, 您对这方面实在是个行家了!
发表于 2012-1-26 14:42:39 | 显示全部楼层
$excel=ObjCreate("excel.application")  ;创建excel进程
$excel.visible=True  ;显示进程窗口
$wb=$excel.workbooks.add  ;添加个工作簿,一般默认有三个工作表,除非你自己改过
For $ws In $wb.worksheets  ;循环各个工作表
        With $ws  ;关键语句with,可以不激活而操作其中内容,尤其是某些激活才能实现的功能也可以这样实现,唯一遗憾的是au3的with语句不像vba里的可以支持多级,整个作用域中不能再出现其他with语句(个人测试结果)
                For $n=1 To 10  ;下面向工作表写入点数据
                        .cells($n,1)=$n
                Next
        EndWith
Next
上个小例子,说明一下,我是因为对vba比较熟,所以偏向于直接修改vba语句然后用到au3中来,没有基础的话建议还是使用成熟的udf函数
 楼主| 发表于 2012-1-26 16:31:59 | 显示全部楼层
本帖最后由 _LK_一生所爱 于 2012-1-26 16:36 编辑

回复 12# kevinch

高手Kevinch您好,非常感谢您的指导!
不过我觉得操作EXCEL无论如何还是自家的VBA功能更强大,支持更完善。
而且EXCEL的VBA有AU3一个无法比拟的巨大的优势:  ~~完善的教程!!~~

我很想学好AU3但是教程实在是少啊~~!也不全面和不系统~~我家就有几本EXCEL的VBA的教程,实例和概念都非常多和全,但是AU3的教学就相比显得很少了~~

我有一个提取数据的EXCEL VBA提取2000个文件的数据,其中还包含很多条件判断,我想用AU3写的话,会非常难吧,一些语法也未必支持哦。

其实AU3就像一个航空母舰,提供强大的自动化办公的动力,但是具体情况,比如制空调用格斗战斗机,空炸使用空炸机,反潜使用反潜机一样,调用API  调用DLL 调用INI等,就是不同的飞机,各发挥其优势!EXCEL的VBA也是一种特种战斗机,让它完成自己擅长的领域才是AU3这个自动化将领的优势,而“代百思之职”则不是也不可能是一个几M的软件的能力所能企及的了~~   

再次请教各位高手运行已经ACTIVE的EXCEL某页的VBA的AU3代码是什么呢(我一般是做一个EXCEL宏按钮 比如是Marco1 模拟按键就太低级啦 请教运行这个MARCO1的代码是什么呢 )
其实就1~2行代码吧 不过我确实不知道哦~~请教高手Kevinch和各位了,谢谢!
 楼主| 发表于 2012-1-26 16:38:25 | 显示全部楼层
回复 8# netegg


netegg您好,我新手哦,还是不知道代码是多少呢~~

如果您知道的话就请您写出来了,不胜感激!
发表于 2012-1-26 17:33:04 | 显示全部楼层
回复 13# _LK_一生所爱
最好是有几个你所说的2000个文件中的例子,说下要的结果,我用实例来演示你会比较有感觉吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-20 06:01 , Processed in 0.087768 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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