Преобразование файлов doc в файлы docx в C#

В этом примере показано, как написать программу на C# для автоматического преобразования файлов doc в файлы docx.

В предыдущей версии Windows, когда я дважды щелкнул файл .doc, я получил это сообщение об ошибке:

Ошибка

В настоящее время операционная система не настроена для запуска этого приложения.

Это исправлено в последних версиях Windows, но каждый раз, когда это происходило, я задавался вопросом, почему Microsoft решила, что Word не понимает файлы .doc по умолчанию. Возможно, это было «побудить» людей переходить к файлам .docx.

Более новый формат .docx предлагает больше возможностей (хотя я не уверен, что это такое), поэтому имеет смысл конвертировать файлы doc в файлы docx.

Эта программа преобразует все файлы .doc в каталог в файлы .docx. Программа включает ссылку на Microsoft.Office.Interop.Word 12.0.0.0, чтобы разрешить ей манипулировать файлами Microsoft Word. Чтобы добавить такую ссылку, откройте меню «Проект» и выберите «Добавить ссылку». На вкладке .NET выберите самую последнюю версию записи Microsoft.Office.Interop.Word и нажмите «ОК».

Чтобы упростить использование классов, определенных в этой библиотеке, программа включает в себя следующую инструкцию using:

Это позволяет программе использовать префикс Word для указания классов в библиотеке.

Если вы вводите или выбираете путь к каталогу и нажимаете кнопку «Преобразовать», выполняется следующий код.

Этот код создает объект приложения Word для работы с Word. Затем он определяет пару переменных, которые он может передать методам Word. Эти методы принимают почти каждый параметр по ссылке (с ключевым словом ref), поэтому значения должны храниться в переменных, которые затем можно передать по ссылке. Переменные должны иметь правильные типы (object), или ссылки не будут работать.

Вероятно, самым важным и запутанным значением является System.Reflection.Missing.Value. Если вы хотите опустить параметр в один из методов Word, вы не можете просто передать null в этот метод. Вместо этого вы должны передать это специальное значение по ссылке.

Создав два значения, код создает объект DirectoryInfo, представляющий каталог, который вы ввели в текстовое поле, и использует его метод GetFiles для перечисления файлов, соответствующих шаблону *. doc в каталоге.

Если расширение файла .docx, программа использует оператор continue, чтобы пропустить файл и продолжить цикл.

Затем код вычисляет имя файла с расширением, установленным в .docx. Если этот файл уже существует, программа добавляет оператор, говорящий, что он пропустил файл в форме ListBox формы. Если файл .docx не существует, программа добавляет сообщение о том, что оно преобразует файл, а затем начинает выполнять настоящую работу.

Затем код вычисляет имя файла с расширением, установленным в .docx. Если этот файл уже существует, программа добавляет оператор, говорящий, что он пропустил файл в форме ListBox формы. Если файл .docx не существует, программа добавляет сообщение о том, что оно преобразует файл, а затем начинает выполнять настоящую работу.

...

После обработки всех файлов программа закрывает сервер приложений Word и отображает сообщение, сообщающее, сколько файлов было преобразовано и пропущено.

Источник: http://csharphelper.com/blog/2016/11/convert-doc-files-into-docx-files-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *