Вызовите метод Word.SaveAs из IronPython - PullRequest
1 голос
/ 06 мая 2011

Раньше я манипулировал Word из C #, а теперь я тестирую его с помощью IronPython.Вот мой код:

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)

Линия с вызовом SaveAs вызывает ошибку: ValueError: Не удалось преобразовать аргумент 0 для вызова SaveAs.

Кто-нибудь сталкивался с такой же проблемой или имелрешение?

1 Ответ

1 голос
/ 06 мая 2011

Я думаю, что проблема со значением типа файла, и если ваш экземпляр слова находится в режиме совместимости или нет.

Я внес эти изменения, и он сохранился нормально.

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

Это изменение разбомблено.

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