Как бороться со всплывающими окнами во время преобразования doc в docx/xls в xlsx с помощью Win32Python

Программы на Python
Ответить
Anonymous
 Как бороться со всплывающими окнами во время преобразования doc в docx/xls в xlsx с помощью Win32

Сообщение Anonymous »

При преобразовании большого количества старых документов MS Office регулярно возникают всплывающие окна с запросом паролей документов, разрешения на сохранение файла без макросов или намека на то, что файлы содержат комментарии или исправления. Поскольку они останавливают процесс преобразования, я хотел бы автоматизировать ответы на них.
Я пытался отлавливать ошибки с помощью исключений, но эти всплывающие окна не вызывают исключений. Я пробовал переключиться на pyexcel для файлов Excel, что сработало для файлов, защищенных паролем (то есть создание исключения, чтобы я мог пропустить файл и войти в журнал), но большинство всплывающих окон все равно приходят из Word, и их нет. кажется, слово, эквивалентное pyexcel. Я также читал об unoconv, но мне бы хотелось избегать использования LibreOffice.
Вот мой код (только немного для файлов Word, чтобы он был короче):
import os
import win32com.client as win32

folder = "FOLDER_PATH"
word = win32.Dispatch("Word.application")

for subdir, dirs, files in os.walk(folder):
for file in files:
filename = os.fsdecode(file)
path = os.path.join(subdir, filename)
if filename.endswith(".doc") or filename.endswith(".DOC"):
try:
wordDoc = word.Documents.Open(path, False, False, False)
wordDoc.SaveAs(path + 'x', FileFormat=16) # FileFormat = 16 is .docx
wordDoc.Close()
with open('CONVERTED_FILES.txt','a') as f:
f.write(path + "\n")
except Exception as ex:
with open('CONVERSION_ERRORS.txt','a') as f:
if hasattr(ex, 'message'):
f.write(path + " Error: " + ex.message + "\n")
else:
f.write(path + " Error: " + str(ex) + "\n")

word.Application.Quit()


Подробнее здесь: https://stackoverflow.com/questions/792 ... sing-win32
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»