通过telnet进行python办公自动化

时间:2015-03-01 16:09:58

标签: python ssh telnet win32com office-automation

我需要自动执行某些MS Office操作,例如打开,编辑,保存Excel或Word文件。我知道这可以使用win32com库来完成。我能够从脚本所在的Windows机器上成功运行这些脚本但是我无法在telnet会话中运行它们到同一台Windows机器。

File "C:\Python27\Lib\site-packages\etest\a8n\msoffice.py", line 216, in <module>
    d.save_as('test')
File "C:\Python27\Lib\site-packages\etest\a8n\msoffice.py", line 152, in save_as
    self._workbook.SaveAs(filename)
File "<COMObject <unknown>>", line 7, in SaveAs
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Office Excel', u'SaveAs method of Workbook class failed', u'C:\\Program Files (x86)\\Microsoft Office\\Office12\\1033\\XLMAIN11.CHM', 0, -2146827284), None)

这是一个限制吗?或者您认为我的剧本中可能存在错误?

如果这是一个限制,有没有办法自动化Office操作并通过telnet或ssh会话运行它?

谢谢,

Meghana

更新:

我试图打开excel表,我收到了这个错误,

pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Office Excel', u"Microsoft Office Excel cannot access the file 'C:\\test.xlsx'. There are several possible reasons:\n\n\u2022 The file name or path does not exist.\n\u2022 The file is being used by another program.\n\u2022 The workbook you are trying to save has the same name as a currently open workbook.", u'C:\\Program Files (x86)\\Microsoft Office\\Office12\\1033\\XLMAIN11.CHM', 0, -2146827284), None)

但该文件尚未打开,并且未被任何程序使用。

1 个答案:

答案 0 :(得分:1)

我的猜测(从未尝试过你所尝试的)是,当telnet进入时,PATH或(更可能)“工作文件夹”与登录时不同。尝试使用文件名的绝对路径。还要确保您使用相同的帐户登录,以便运行telnet和Desk,因为这会影响写入权限。

也许没有桌面与它有关。尝试将可见性设置为false,尽管这似乎不够。