Как бороться со всплывающими окнами во время преобразования 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 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Apache POI – ошибка преобразования xls в xlsx
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Apache POI – ошибка преобразования xls в xlsx
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как работать с локальными всплывающими уведомлениями из C#, используя только Microsoft.Toolkit.Uwp.Notifications.dll
    Anonymous » » в форуме C#
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous
  • Как разбить большой файл .xls/.xlsx на куски с помощью js, а затем собрать его в PHP (Laravel)? [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как обнаружить тип MIME из файлового буфера в Python, особенно для устаревших офисных форматов, таких как .xls, .doc, .p
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

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