2010-03-08 7 views
7

У меня есть куча файлов .doc в папке, которую мне нужно преобразовать в .docx.Автоматизация: как автоматизировать преобразование .doc в .docx?

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

  1. Open .doc в Word 2007
  2. Нажмите на Save As ...
  3. Сохранить это как .docx

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

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

ответ

4

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

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

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

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

+0

Сохранение его как новый формат файла не преобразует файл в этот формат. Когда вы делаете это так, как вы подробно описываете и открываете новый файл, он иногда открывается в режиме совместимости, поскольку вы только изменили расширение. Вам нужно вызвать метод Convert() для объекта документа, чтобы действительно преобразовать в новейший формат файла. – codemonkeyliketab

7

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

ofc 

и волшебство случается.

+0

+1 Отлично, полностью забыл об этом. Это будет намного проще. –

14

Нет необходимости автоматизировать 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" 
+0

Проще всего. Спасибо. –

+0

Простой и работает отлично. – Gerard

+0

Спасибо, это прекрасно. – vatsug

Смежные вопросы