MicroBlue 发表于 2011-10-17 11:00:43

AutoIt无法打开Execl2010怎么解决?【已解决】

本帖最后由 MicroBlue 于 2011-10-25 12:06 编辑

各位好,我是新人,第一次发帖,我看论坛上的规矩比较多,有违规的情况还请指正!

我使用AutoIt 读取EXCEL 文件,在2007及2007以下版本就可以,使用MSoffice2010和wps2010 都不行,各位有没有解决方案啊?

kevinch 发表于 2011-10-17 11:47:25

贴出你的代码看下

MicroBlue 发表于 2011-10-17 12:33:08

这是AutoIT 帮助文档里的代码,执行后,@error = 1 无法创建excel object!#include <Excel.au3>

$sFilePath1 = @ScriptDir & "\Test1.xls" ;This file should already exist
$oExcel = _ExcelBookOpen($sFilePath1)

If @error = 1 Then
    MsgBox(0, "Error!", "Unable to Create the Excel Object")
    Exit
ElseIf @error = 2 Then
    MsgBox(0, "Error!", "File does not exist - Shame on you!")
    Exit
EndIf

MicroBlue 发表于 2011-10-17 12:33:28

回复 2# kevinch


    代码贴出来了!

kevinch 发表于 2011-10-18 18:55:28

#include <Excel.au3>

$sFilePath1 = @ScriptDir & "\Test1.xls"
if fileexists($sFilePath1)=0 then
    MsgBox(0, "Error!", "File does not exist - Shame on you!")
    Exit
EndIf
$oExcel = objget($sFilePath1)
If @error = 1 Then
    MsgBox(0, "Error!", "Unable to Create the Excel Object")
    Exit
EndIf这样试下,UDF是03版时写的,可能在处理10版EXCEL时有点问题

ghl781258 发表于 2011-10-18 19:59:15

excel.application 后好像有版本之间的区别。度娘下看看。

MicroBlue 发表于 2011-10-19 20:22:08

回复 5# kevinch


    你好,非常感谢你的解答。

      我执行你这段代码后,提示: 不能create excel 这个object, 其实我是想用AutoIt操作excel表格。现在OFFICE2010和金山2010都没法操作了,微软那边说Excel的com接口变了,这个我就不知道该怎么处理了,所以就来问问。 ghl781258这个哥们也所了,excel.application有变化。 肯能就是这个原因!

autt 发表于 2011-10-19 21:08:38

我想应该不支持金山的

autt 发表于 2011-10-19 21:12:30

excel2010的后缀名不是xls
是xlsx

MicroBlue 发表于 2011-10-20 15:33:08

回复 9# autt


金山 是我们的 合作伙伴。支持一下也没错。我的文件是xls兼容模式文件

kevinch 发表于 2011-10-20 18:38:07

回复 7# MicroBlue
我就是在用2010版,没出现你说的情况,是不是你是系统环境有问题?

MicroBlue 发表于 2011-10-21 15:31:45

回复 11# kevinch


    你好, 你能发一段代码给我吗,就是 打开一个excel文档,随便写一点东西,保存。 谢谢! 我试一下!

devil3380 发表于 2011-10-21 16:33:34

试下可以 么
2010WIN7测试ok$oExcel = ObjCreate("Excel.Application")                   ; 创建一个Excel 对象
$oExcel.Visible = 1                                        ; 显示 Excel
$oExcel.WorkBooks.Add                                    ; 添加一个新的工作表
$oExcel.ActiveWorkBook.ActiveSheet.Cells(1,1).Value="test" ; 将 "test" 写入 1 行 1 列的表格中
sleep(4000)                                                ;等待4秒看结果
;$oExcel.ActiveWorkBook.Saved = 1                           ; 模拟用户保存工作表
$oExcel.Application.ActiveWorkBook.SaveAs("d:\test.xlsx",56,"","",False,False)

$oExcel.Quit                                             ; 退出 Excel

kevinch 发表于 2011-10-21 19:30:50

楼上的代码就可以啦

MicroBlue 发表于 2011-10-22 17:57:25

回复 13# devil3380


    哥们, 还是不行。出错代码!

C:\Users\HC\Desktop\?? AutoIt v3 Script (2).au3 (15) : ==> Variable must be of type "Object".:
$oExcel.Visible = 1
$oExcel^ ERROR
页: [1] 2
查看完整版本: AutoIt无法打开Execl2010怎么解决?【已解决】