Автоматизация: как автоматизировать преобразование .doc в .docx? - PullRequest
9 голосов
/ 09 марта 2010

У меня есть куча файлов .doc в папке, которые мне нужно преобразовать в .docx.

Чтобы вручную преобразовать .doc в .docx, достаточно просто:

  1. Открыть .doc в Word 2007
  2. Нажмите Сохранить как ...
  3. Сохранить как .docx

Однако делать это для сотен файлов определенно не весело. = Р

Как бы вы автоматизировали это?

Ответы [ 5 ]

18 голосов
/ 09 марта 2010

Нет необходимости автоматизировать Word, который является довольно медленным и ломким из-за всплывающих сообщений, или использовать Microsoft Office File Converter (ofc.exe), который имеет излишне сложный пользовательский интерфейс.

Самый простой и быстрый способ - установить либо Office 2007, либо загрузить и установить пакет обеспечения совместимости от Microsoft (если это еще не сделано). Затем вы можете легко конвертировать из .doc в .docx, используя следующую команду:

"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file>

где <входной файл> и <выходной файл> должны быть полными путями.

Команду можно легко применить к нескольким документам, используя for:

for %F in (*.doc) do "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme "%F" "%Fx"
7 голосов
/ 09 марта 2010

Самый простой способ - использовать командную строку Office File Converter . Просто беги

ofc

и происходит волшебство.

4 голосов
/ 09 марта 2010

Автоматизация Word.

Если вы используете .NET, добавьте в ваш проект справочную сборку Microsoft.Office.Interop.Word (убедитесь, что она версии 12 - эквивалентна Word 2007, чтобы вы могли достичь вышеуказанного) и используйте ее для автоматизации приложения word делайте именно то, что вы хотите сделать выше. Псевдокод

  • Создать объект приложения
  • Используйте объект приложения для открытия документа (предоставив ему имя файла)
  • Используйте объект приложения для выполнения SaveAs, предоставив ему формат и имя выходного файла
  • Закрыть текущий документ
  • Повторяйте выше, пока не закончите со всеми документами
  • Хозяйственный код для освобождения объектов Word или Doc

Вы можете найти множество примеров в Google, просто поищите Word Automation в C # или что-то в этом роде.

0 голосов
/ 09 марта 2010
0 голосов
/ 09 марта 2010

WD2000: Как использовать (OLE) автоматизацию с Word . Предназначен для Word 2000, но модель все еще применяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...