xiaowo 发表于 2012-7-25 15:11:47

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

本帖最后由 xiaowo 于 2012-7-25 16:15 编辑

版主大大,为何别人改标题为已解决有分加,我改后没有呢?{:face (394):}

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

kevinch 发表于 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这个试下

xiaowo 发表于 2012-7-25 16:14:15

回复 2# kevinch


    原来如此,学习到了,谢谢

zldfsz 发表于 2012-7-25 16:34:56

试试这个
#include<Excel.au3>
Local $oExcel = _ExcelBookOpen("D:\1.xls",0)
_ExcelSheetDelete($oExcel, "Sheet2")
_ExcelBookSave($oExcel)
_ExcelBookClose($oExcel)

xiaowo 发表于 2012-7-25 16:55:07

试试这个
zldfsz 发表于 2012-7-25 16:34 http://www.autoitx.com/images/common/back.gif


    法海兄的这方法我已经试过了,不成,并且后台打开的Excel.exe进程也无法通过_ExcelBookClose关闭,在执行速度上也比VBA转AU3的代码差上好远

xiaowo 发表于 2012-7-25 17:02:15

试试这个
zldfsz 发表于 2012-7-25 16:34 http://www.autoitx.com/images/common/back.gif


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

可能之前我哪里搞错了
页: [1]
查看完整版本: 【已解决】为何包含宏的Excel文档不能用AU3删除工作表?