2013-03-07 98 views
0

我無法使用pywin32打開word文件。我一直在試圖找到pywin32的教程,但沒有任何代碼的作品。 word文檔的位置是isn的C:\ Users \ User \ Documents \ python progs \ misc \ formatting。在pywin32中打開MS Word文件

import win32com.client as win32 

word = win32.gencache.EnsureDispatch('Word.Application') 
word.Visible = False 
word.Documents.Open('C:\\sectarianism.doc') 


Traceback (most recent call last): 
    File "C:\Users\User\Documents\python progs\misc\formatting for isn\formatting.py", line 5, in <module> 
    word.Documents.Open('C:\\sectarianism.doc') 
    File "C:\Python25\lib\site-packages\win32com\gen_py\00020905-0000-0000-C000-000000000046x0x8x4\Documents.py", line 96, in Open 
    , Visible, OpenAndRepair, DocumentDirection, NoEncodingDialog, XMLTransform 
com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Word', u'This file could not be found.\r (C:\\sectarianism.doc)', u'C:\\Program Files\\Microsoft Office\\Office12\\1033\\WDMAIN11.CHM', 24654, -2146823114), None) 
>>> 

回答

6

您需要從正確的位置打開文件。

你可以試試這個:

import win32com.client as win32 
import os 

word = win32.gencache.EnsureDispatch('Word.Application') 
word.Visible = False 
doc_path = os.path.join('c:', os.sep, 'Users', 'User', 'Documents', 'python', 'progs', 'misc', 'formatting for isn', 'sectarianism.doc') 
doc = word.Documents.Open(doc_path) 
當然

,記得要關閉與doc.Close(商務部)和(),後來與Word.Quit退出Word。

+0

我的確完成了Daniel Wigmore所做的事情,但它並沒有奏效,然後我做了@rattray所建議的事情,它讓我確切知道我需要去哪裏。優秀! – cjohnson318 2013-12-05 14:30:01

0

我建議這個方法:

>>> import win32api 
>>> win32api.ShellExecute(0, 'open', 'D:\\test.docx', '', '', 1) 

這將默認打開程序(例如Microsoft Word)中的文件(.DOCX或任何其他類型)。