使用win32com操作excel报错COMObject

eFinanceBB 2011-06-22 03:00:40

from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlBook = xlApp.Workbooks.Open("E:\test111.xls")
sht = xlBook.Worksheets("Sheet1")
print sht.Cells(1,1).Value


以上代码运行后报错,查看了sys.path,win32com的路径应该是包含在里面的
环境:XP,Office2007,Python2.7 安装了pywin32-214.win32-py2.7.exe,刚接触Python不久,公司内上网有限制,CSDN可以上但是Google啥的都上不了。


>>> sys.path.append("C:\Python27\Lib\site-packages\win32com")
>>> for i in sys.path:
print i


C:/Python27
C:\Python27\Lib\idlelib
C:\WINDOWS\system32\python27.zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
C:\Python27\lib\site-packages\win32
C:\Python27\lib\site-packages\win32\lib
C:\Python27\lib\site-packages\Pythonwin
C:\Python27\Lib\site-packages\win32com
>>> ================================ RESTART ================================
>>>

Traceback (most recent call last):
File "C:/Python27/222.py", line 3, in <module>
xlBook = xlApp.Workbooks.Open("E:\test111.xls")
File "<COMObject <unknown>>", line 8, in Open
com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'Microsoft Office Excel', u'\u627e\u4e0d\u5230\u201cE:\test111.xls\u201d\u3002\u8bf7\u68c0\u67e5\u6587\u4ef6\u540d\u7684\u62fc\u5199\uff0c\u5e76\u9a8c\u8bc1\u6587\u4ef6\u4f4d\u7f6e\u662f\u5426\u6b63\u786e\u3002\n\n\u5982\u679c\u60a8\u6b63\u8bd5\u56fe\u4ece\u6700\u8fd1\u4f7f\u7528\u7684\u6587\u4ef6\u5217\u8868\u4e2d\u6253\u5f00\u8be5\u6587\u4ef6\uff0c\u8bf7\u786e\u4fdd\u8be5\u6587\u4ef6\u672a\u88ab\u91cd\u547d\u540d\u3001\u79fb\u52a8\u6216\u5220\u9664\u3002', u'C:\\Program Files\\Microsoft Office\\Office12\\2052\\XLMAIN11.CHM', 0, -2146827284), None)
>>>



...全文
3192 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eFinanceBB 2011-06-22
  • 打赏
  • 举报
回复

>>> print u'\u627e\u4e0d\u5230\u201cE:\test111.xls'
找不到“E: est111.xls
>>>

这个好像是Python的内置编码,控制台不能直接显示中文。学习了,希望新手不要再犯我这样的错误。
iambic 2011-06-22
  • 打赏
  • 举报
回复
关键是你要学会自己解决问题。就这个具体问题来说,你如果习惯阅读出错信息,自己就能解决了。
eFinanceBB 2011-06-22
  • 打赏
  • 举报
回复
原来斜杠被解释成转义符了

>>>
PBI
>>> print "E:\test111.xls"
E: est111.xls
>>> print r"E:\test111.xls"
E:\test111.xls
>>>
eFinanceBB 2011-06-22
  • 打赏
  • 举报
回复
问题解决了!多谢iambic大虾,最近一直在看这个板块,久仰您的大名啊!
结贴
eFinanceBB 2011-06-22
  • 打赏
  • 举报
回复
不好意思,代码格式贴成Perl的了,现在编辑不了
iambic 2011-06-22
  • 打赏
  • 举报
回复
为啥不看出错信息?

另外说了多少次了,路径名要用r'',中枪了吧。

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧