Преобразование многих файлов DOC в DOCX (Microsoft Word)
У Кристиана есть папка, полная файлов DOC, которые ему нужно преобразовать в файлы DOCX. Он задается вопросом, есть ли быстрый способ конвертировать их, не открывая и не сохраняя каждую по отдельности.
Microsoft не предоставляет эту функцию в Word и не предоставляет надстройку для преобразования. Однако вы можете создать свой собственный макрос для преобразования. Здесь показан довольно простой подход:
Sub ConvertBatchToDOCX() Dim sSourcePath As String Dim sTargetPath As String Dim sDocName As String Dim docCurDoc As Document Dim sNewDocName As String ' Looking in this path sSourcePath = "c:\Users\Administrator\Desktop\Testing\" sTargetPath = "c:\Users\Administrator\Desktop\Converted\" ' Look for first DOC file sDocName = Dir(sSourcePath & "*.doc") Do While sDocName <> "" ' Repeat as long as there are source files 'Only work on files where right-most characters are ".doc" If Right(sDocName, 4) = ".doc" Then ' Open file Set docCurDoc = Documents.Open(FileName:=sSourcePath & sDocName) sNewDocName = Replace(sDocName, ".doc", ".docx") With docCurDoc .SaveAs FileName:=sTargetPath & sNewDocName, _ FileFormat:=wdFormatDocumentDefault .Close SaveChanges:=wdDoNotSaveChanges End With End If ' Get next source file name sDocName = Dir Loop MsgBox "Finished" End Sub
Чтобы использовать макрос, вам нужно внести два изменения. Сначала укажите в переменной sSourcePath полный путь (с обратной косой чертой) к каталогу, содержащему файлы, которые вы хотите преобразовать.
Затем в переменной sTargetPath укажите полный путь (с обратной косой чертой в конце) к каталогу, в котором должны храниться преобразованные документы.
Затем макрос просматривает все файлы DOC, которые он находит в исходном каталоге, открывает их и сохраняет в виде файлов DOCX в целевом каталоге.
Обратите внимание, что я упомянул, что это простой подход. Причина в том, что он не выполняет проверку ошибок в своей работе. Например, если вы запускаете этот макрос дважды подряд, вы получите ошибки, потому что файлы, сохраняемые в целевом каталоге, уже существуют. Кроме того, вы должны понимать, что при этом все файлы DOC преобразуются в файлы DOCX. Другими словами, если в исходном файле есть макросы, эти макросы будут удалены в процессе преобразования.
Наконец, обратите внимание, что ядро макроса содержится в структуре If / Then, которая проверяет, действительно ли крайние правые 4 символа имени файла являются «.doc». Это сделано из-за довольно неприятного поведения функции Dir в некоторых системах, где поиск по шаблону «* .doc» будет возвращать как совпадение любое имя файла, содержащее_ .doc. Это означает, что он также возвращает файлы с расширениями .docx и .docm. Очевидно, их не следует преобразовывать, поэтому включена структура If / Then, чтобы отсеять их.
Если вы предпочитаете не использовать свой собственный макрос, вы можете использовать сторонние решения. На следующей странице сайта Грэма Мэра есть бесплатная надстройка, которая, помимо прочего, выполняет преобразование документа:
http://www.gmayor.com/document_batch_processes.htm
Вы можете найти другие похожие конвертеры, выполнив поиск в Интернете по запросу «doc docx converter» (без кавычек).
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (643) относится к Microsoft Word 2007, 2010, 2013 и 2016.