При преобразовании большого количества старых документов 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
Как бороться со всплывающими окнами во время преобразования doc в docx/xls в xlsx с помощью Win32 ⇐ Python
Программы на Python
1733486263
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()
Подробнее здесь: [url]https://stackoverflow.com/questions/79257904/how-to-deal-with-pop-ups-during-doc-to-docx-xls-to-xlsx-conversions-using-win32[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия