Мне нужно изменить некоторые значения пользовательских свойств во многих файлах. Вот пример кода - как я делаю это для одного файла:
import win32com.client
MSWord = win32com.client.Dispatch("Word.Application")
MSWord.Visible = False
doc = MSWord.Documents.Open(file)
doc.CustomDocumentProperties('Some Property').Value = 'Some New Value'
doc.Save()
doc.Close()
MSWord.Quit()
Запуск того же кода для "Excel.Application"
(с небольшими изменениями - просто для того, чтобы он работал) дает мне отличный результат. Однако, когда я использую doc.Save()
или doc.SaveAs(same_file)
для MSWord, это молча завершается неудачей. Я не знаю почему, но изменения не сохраняются.
Теперь я могу использовать SaveAs
для другого файла, он также хорошо работает. Но я хочу понять, почему у меня такое странное поведение для файлов MSWord и как это можно исправить?
Редактировать : Я изменил свой код, чтобы не вводить людей в заблуждение с молчаливой ошибкой, причиной попытки / исключением.
Тем не менее, спасибо всем за то, что нашли этот дефект в моем коде:)