2011-05-06 94 views
1

我曾經從C#操縱Word,現在我用IronPython測試它。 這裏是我的代碼:從IronPython調用Word.SaveAs方法

import clr 

clr.AddReference('System') 
clr.AddReference('mscorlib') 
clr.AddReference('Microsoft.Office.Interop.Word') 
from System.Reflection import Missing 
from Microsoft.Office.Interop.Word import ApplicationClass 

missing = Missing.Value 

word = ApplicationClass() 
word.Visible = True 
doc = word.Documents.Add(missing, missing, missing, missing) 

doc_file_name = r"C:\MyWord.docx" 
doc.SaveAs(doc_file_name, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing) 
doc.Close(missing, missing, missing) 
WordApp.Quit(missing, missing, missing) 

與另存爲調用的LIGNE導致錯誤:ValueError異常:無法轉換參數0調用另存爲。

有沒有人遇到同樣的問題或有解決方案?

回答

1

我認爲問題是與文件類型的值,如果您的單詞的實例處於兼容模式或不。

我做了這些改變,它保存得很好。

doc_file_name = r"C:\MyWord.doc" 
doc.SaveAs(doc_file_name) 

這個改變被炸掉了。

doc_file_name = r"C:\MyWord.docx" 
doc.SaveAs(doc_file_name) 
+0

非常感謝,它的工作原理。但是你知道爲什麼我不能對所有參數使用SaveAs方法嗎? – Nicolas 2011-05-09 08:32:06

+0

只有你有實際的價值。我發現(從vba)最好只指定你需要的東西,讓對象處理默認值。 – WombatPM 2011-05-09 13:24:29