找回密码
 加入
搜索
查看: 6300|回复: 7

[系统综合] 关于AU3调用excel进程已经.visible=false打开其他新excel还会显示

  [复制链接]
发表于 2013-10-18 11:44:13 | 显示全部楼层 |阅读模式
Global $oexcel = ObjCreate("excel.application")
$oexcel.visible = False
脚本已经申明excel进程是visible=false,后续打开excel进程可以隐藏,但是当用户操作打开其他excel时该visible=false的进程就会显出来了。。。。是不是还少什么申明代码!!
发表于 2013-10-18 12:52:48 | 显示全部楼层
只对$oExcel对象打开的Excel文件有效,对其他方式打开的Excel文件无效
 楼主| 发表于 2013-10-18 13:02:23 | 显示全部楼层
回复 2# xms77
xms你好,我试过在每一个$wb=$oexcel.workbooks.open($path&$wbname)
$wb.visible=false。
但还是在打开新的excel对象时会显示出来!!
发表于 2013-10-18 20:25:55 | 显示全部楼层
excel默认用同一进程打开文件,所以虽然visible=false,但是当其他文件打开里也会跟着显示出来,不过03版选项里有一个设置项可以使excel用不同进程打开文件,这样就不会了,不过不同进程的坏处是各个进程之间不能通信,也就是说你不能调用另一个excel进程里的资源,比如工作簿引用之类的,但是作为你这个程序运行时的临时解决方案还是可行的,你可以尝试在03版下找到那个选项,然后录制宏来记录勾选时改变的代码,然后调用,程序结束时恢复
发表于 2013-10-19 21:45:53 | 显示全部楼层
回复 3# mpf5566
不同进程的话,是互不相关的。
 楼主| 发表于 2013-10-21 15:03:26 | 显示全部楼层
回复 4# kevinch


    嗯,感谢kevinch 的答复,那所谓临时解决方案提醒使用的用户运行前检测EXCEL进程并结束掉而且使用期间不要打开EXCEL了。
发表于 2013-10-21 16:45:03 | 显示全部楼层
网上可以找到在不同进程中打开不同excel文档的方法,参考一下,修改的时候监控系统变化,应该是修改的注册表项,如果证实可以的话,那么可以直接用程序修改对应的注册表项,程序运行完成后恢复原来的注册表项
 楼主| 发表于 2013-10-21 18:37:09 | 显示全部楼层
回复 7# kevinch


    好的。。。多谢kevinch,我再好好研究一下!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 09:34 , Processed in 0.074805 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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