我是从中创建的示例 http://docs.xlwings.org/en/stable/vba.html / Python 3.5.1 | Anaconda 2.5.0(32位)| (默认,2016年1月29日,15:46:01) / 并得到错误
--
---------------------------
Error
---------------------------
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Python3\mymodule.py", line 7, in rand_numbers
n = int(Range('Sheet1', 'B1').value) # Write desired dimensions into Cell B1
File "C:\Python3\lib\site-packages\xlwings\main.py", line 701, in __init__
self.xl_sheet = xlplatform.get_worksheet(self.xl_workbook, sheet_name_or_index)
File "C:\Python3\lib\site-packages\xlwings\_xlwindows.py", line 240, in get_worksheet
return xl_workbook.Sheets(sheet)
File "C:\Python3\lib\site-packages\win32com\client\dynamic.py", line 192, in __call__
return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147352565), None)
Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
答案 0 :(得分:8)
嘿所以错误意味着:
>>> import win32api
>>> win32api.FormatMessage(-2147352565)
'Invalid index.\r\n'
所以我的猜测是你试图写一张不存在的表格(是的,我们将致力于更容易理解的错误信息......)
答案 1 :(得分:1)
我发现您不能使用相对路径,如果您使用相对路径,这就是您得到的错误。
使用os.path.abspath(rel_path)传递相对路径以打开文件。
答案 2 :(得分:0)
如果上述解决方案不起作用,那么我最好的猜测是您使用的excel文件不在焦点内,在使用xlwing时遇到相同的问题。您需要做的就是一旦选择了Excel(Excel中的set set event),然后运行python代码。