找回密码
 加入
搜索
查看: 3901|回复: 5

[效率算法] 【已解决】为何包含宏的Excel文档不能用AU3删除工作表?

[复制链接]
发表于 2012-7-25 15:11:47 | 显示全部楼层 |阅读模式
本帖最后由 xiaowo 于 2012-7-25 16:15 编辑

版主大大,为何别人改标题为已解决有分加,我改后没有呢?

XP SP3环境,Excel 2003,没有宏的一切正常,在文档里随便录制一段宏,保存后,就没法用AU3删除其中的工作表了?安全性也调过,高、中、低都一样
AU3代码如下:
$excel=ObjCreate("excel.application")  ;创建excel进程
$excel.Workbooks.Open("D:\1.xls")  ;打开个工作簿
$excel.Worksheets("Sheet2").Delete
$excel.DisplayAlerts = 0
$excel.Save
$excel.Quit

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
zldfsz + 20 + 2 加给你。。。版主每天那么辛苦管理论坛,总 ...

查看全部评分

发表于 2012-7-25 15:36:33 | 显示全部楼层
$excel=ObjCreate("excel.application")  ;创建excel进程
$excel.visible=True  ;visible属性一定要设置,否则好像没办法操作excel,尤其是需要修改的情况
$excel.application.enableevents=False  ;关闭事件响应可以防止打开事件中有代码影响操作,可选
$excel.Workbooks.Open("D:\1.xls")  ;打开个工作簿
$excel.DisplayAlerts = False ;关闭警告信息应该在发出警告之前,否则无效
$excel.Worksheets("Sheet2").Delete
$excel.Save
$excel.Quit
这个试下

评分

参与人数 1金钱 +30 收起 理由
xiaowo + 30 搞定~3Q

查看全部评分

 楼主| 发表于 2012-7-25 16:14:15 | 显示全部楼层
回复 2# kevinch


    原来如此,学习到了,谢谢
发表于 2012-7-25 16:34:56 | 显示全部楼层
试试这个
#include  <Excel.au3>
Local $oExcel = _ExcelBookOpen("D:\1.xls",0)
_ExcelSheetDelete($oExcel, "Sheet2")
_ExcelBookSave($oExcel) 
_ExcelBookClose($oExcel) 
 楼主| 发表于 2012-7-25 16:55:07 | 显示全部楼层
试试这个
zldfsz 发表于 2012-7-25 16:34



    法海兄的这方法我已经试过了,不成,并且后台打开的Excel.exe进程也无法通过_ExcelBookClose关闭,在执行速度上也比VBA转AU3的代码差上好远
 楼主| 发表于 2012-7-25 17:02:15 | 显示全部楼层
试试这个
zldfsz 发表于 2012-7-25 16:34



        奇怪,之前用这个试不行,现在又可以了,谢谢

可能之前我哪里搞错了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-20 23:24 , Processed in 0.089301 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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