找回密码
 加入
搜索
查看: 9481|回复: 18

[AU3基础] AutoIt无法打开Execl2010怎么解决?【已解决】

 火.. [复制链接]
发表于 2011-10-17 11:00:43 | 显示全部楼层 |阅读模式
本帖最后由 MicroBlue 于 2011-10-25 12:06 编辑

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

我使用AutoIt 读取EXCEL 文件,在2007及2007以下版本就可以,使用MSoffice2010和wps2010 都不行,各位有没有解决方案啊?
发表于 2011-10-17 11:47:25 | 显示全部楼层
贴出你的代码看下
 楼主| 发表于 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
 楼主| 发表于 2011-10-17 12:33:28 | 显示全部楼层
回复 2# 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时有点问题
发表于 2011-10-18 19:59:15 | 显示全部楼层
excel.application 后好像有版本之间的区别。度娘下看看。
 楼主| 发表于 2011-10-19 20:22:08 | 显示全部楼层
回复 5# kevinch


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

      我执行你这段代码后,提示: 不能create excel 这个object, 其实我是想用AutoIt操作excel表格。现在OFFICE2010和金山2010都没法操作了,微软那边说Excel的com接口变了,这个我就不知道该怎么处理了,所以就来问问。 ghl781258这个哥们也所了,excel.application有变化。 肯能就是这个原因!
发表于 2011-10-19 21:08:38 | 显示全部楼层
我想应该不支持金山的
发表于 2011-10-19 21:12:30 | 显示全部楼层
excel2010的后缀名不是xls
是xlsx
 楼主| 发表于 2011-10-20 15:33:08 | 显示全部楼层
回复 9# autt


金山 是我们的 合作伙伴。支持一下也没错。我的文件是xls兼容模式文件
发表于 2011-10-20 18:38:07 | 显示全部楼层
回复 7# MicroBlue
我就是在用2010版,没出现你说的情况,是不是你是系统环境有问题?
 楼主| 发表于 2011-10-21 15:31:45 | 显示全部楼层
回复 11# kevinch


    你好, 你能发一段代码给我吗,就是 打开一个excel文档,随便写一点东西,保存。 谢谢! 我试一下!
发表于 2011-10-21 16:33:34 | 显示全部楼层
试下  可以 么
2010  WIN7  测试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  
发表于 2011-10-21 19:30:50 | 显示全部楼层
楼上的代码就可以啦
 楼主| 发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 02:20 , Processed in 0.086557 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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