ExcelBookAttach出错 【已解决】
本帖最后由 lwz642246 于 2012-10-9 17:19 编辑#include <Excel.au3>
$oExcel = _ExcelBookAttach("Microsoft Excel - 我的工作表", "Title")
$oExcel.worksheets(1).Cells(1, 1).Value = "123"
sleep(5000)
_ExcelBookSave($oExcel)
_ExcelBookAttach能正常附加到工作表,手工保存正常,但_ExcelBookSave保存则excel出错崩溃。
显示
>运行:(3.3.6.1):D:\Program Files\autoit3\autoit3.exe "D:\我的文档\桌面\1.au3"
D:\????\??\1.au3 (3) : ==> ???????????("Object").:
$oExcel.worksheets(1).Cells(1, 1).Value = "123"
$oExcel^ ERROR
->19:46:28 AutoIT3.exe 完成
谢谢,xiehuahere 。已解决#include <Excel.au3>
If Not WinExists("Microsoft Excel - 我的工作表.xls") Then $oExcel=_ExcelBookOpen(@ScriptDir & '\我的工作表.xls')
$oExcel = _ExcelBookAttach(@ScriptDir & '\我的工作表.xls')
$oExcel.Application.worksheets(1).Cells(1, 1).Value = "123"
$oExcel.Application.DisplayAlerts = 0;禁用Excel警告消息
$oExcel.Application.save 你还是贴一下完整的代码和文件吧 回复 2# qinylj
文件就是打开同目录下“我的工作表.xls “
显示
>运行:(3.3.6.1):D:\Program Files\autoit3\autoit3.exe "D:\我的文档\桌面\1.au3"
D:\????\??\1.au3 (3) : ==> ???????????("Object").:
$oExcel.worksheets(1).Cells(1, 1).Value = "123"
$oExcel^ ERROR
->19:46:28 AutoIT3.exe 完成::1 AU3在此问题上可能有些小BUG~~
我有了几个版本的测试,相同的代码,相同的文件,测试几次,有时可以成功,有时不能,当可以成功写入时,后面的自动显示成功(代码运行没有报错,返回值为1,按帮助文档说是成功的),但实际并没有成功~~ 本帖最后由 xiehuahere 于 2012-10-8 15:01 编辑
回复 1# lwz642246
_ExcelBookAttach 不是这么用的。
用法如下:
Local $oExcel
If WinExists("Excel 窗口标题") Then
$oExcel = ObjGet("", "Excel.Application") ; Get an existing Excel Object
If @error Then
MsgBox(0, "错误!","获取对象失败!")
Exit 1
EndIf
_ExcelBookAttach("Excel 窗口标题", "Title")
Else
$oExcel = _ExcelBookOpen("Excel 文件路径")
If @error = 1 Then
MsgBox(0, "错误!", "无法创建对象!")
Exit 1
ElseIf @error = 2 Then
MsgBox(0, "错误!", "文件不存在!")
Exit 1
EndIf
EndIf
或者,用你的方法也可以,但attach后的下面一句要改一下:
$oExcel.Application.xxx.xx 回复 5# xiehuahere
谢谢,已解决。
#include <Excel.au3>
If Not WinExists("Microsoft Excel - 我的工作表.xls") Then $oExcel=_ExcelBookOpen(@ScriptDir & '\我的工作表.xls')
$oExcel = _ExcelBookAttach(@ScriptDir & '\我的工作表.xls')
$oExcel.Application.worksheets(1).Cells(1, 1).Value = "123"
$oExcel.Application.DisplayAlerts = 0;禁用Excel警告消息
$oExcel.Application.save 本帖最后由 xiehuahere 于 2012-10-9 09:21 编辑
回复 6# lwz642246
总觉得你这个代码还是有点累赘
既然用_ExcelBookOpen,就不需要再_ExcelBookAttach。
不过既然你想转化为工作表对象的对象变量来做,也是可以的。
既然已解决,修改帖子标题加上“已解决”字样吧。这样大家可以把视线挪到那些还有待解决的问题上去。
页:
[1]