Note: The other languages of the website are Google-translated. Back to English

Как пакетно конвертировать документы Word в текстовый файл?

В этой статье рассказывается о том, как пакетно преобразовать все документы Word в определенной папке в отдельные файлы TXT в Word.

Пакетное преобразование документов Word в файлы txt с помощью VBA


Пакетное преобразование документов Word в файлы txt с помощью VBA

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

1. В документе Word нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, затем скопируйте приведенный ниже код в окно модуля.

Код VBA: пакетное преобразование документов Word в файлы txt

Sub ConvertDocumentsToTxt()
'Updated by Extendoffice 20181123
    Dim xIndex As Long
    Dim xFolder As Variant
    Dim xFileStr As String
    Dim xFilePath As String
    Dim xDlg As FileDialog
    Dim xActPath As String
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xFileStr = Dir(xFolder & "\*.doc")
    xActPath = ActiveDocument.Path
    While xFileStr <> ""
        xFilePath = xFolder & "\" & xFileStr
        If xFilePath <> xActPath Then
            Set xDoc = Documents.Open(xFilePath, AddToRecentFiles:=False, Visible:=False)
            xIndex = InStrRev(xFilePath, ".")
            Debug.Print Left(xFilePath, xIndex - 1) & ".txt"
            xDoc.SaveAs Left(xFilePath, xIndex - 1) & ".txt", FileFormat:=wdFormatText, AddToRecentFiles:=False
            xDoc.Close True
        End If
        xFileStr = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub

3. нажмите F5 ключ для запуска кода.

4. в Приложения в окне выберите папку, содержащую документы Word, которые вы конвертируете в текстовые файлы, и щелкните значок OK кнопка. Смотрите скриншот:

После этого вы увидите, что все документы в выбранной папке сразу конвертируются в текстовые файлы. Смотрите скриншот:


Рекомендуемые инструменты для повышения производительности Word

 

Kutools For Word - Более 100 расширенных функций для Word, сэкономьте 50% времени

  • Сложные и повторяющиеся операции можно производить разово за секунды.
  • Вставляйте сразу несколько изображений из папок в документ Word.
  • Объединяйте и объединяйте несколько файлов Word из папок в одну в желаемом порядке.
  • Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
  • Преобразование файлов между Doc и Docx, Docx и PDF, набор инструментов для общих преобразований и выбора и т. Д.
Сортировать комментарии по
Комментарии (22)
Номинальный 5 из 5 · рейтинги 1
Этот комментарий был сведен к минимуму модератором на сайте
Я фанат поэзии. Мне нужно было преобразовать более 700 словесных композиций в txt. Благодаря вашей подпрограмме мне удалось сделать это в кратчайшие сроки.
спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Можно ли предоставить тот же код, когда я использую последнюю версию Word на Mac? Я получаю ошибку времени выполнения 5948 и отладку указывает на этот раздел: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇ
Этот комментарий был сведен к минимуму модератором на сайте
Благодарю вас! Это очень полезно
Этот комментарий был сведен к минимуму модератором на сайте
Как ты получил это на работу?
Этот комментарий был сведен к минимуму модератором на сайте
У меня не работает, есть идеи почему?
Нужно ли мне делать это в документе Word из той же папки, которую я хочу преобразовать, или в любом новом документе Word, который я запускаю? - Пробовал оба варианта, и ни один из них не работает, но я также не получаю никаких сообщений об ошибках.
Этот комментарий был сведен к минимуму модератором на сайте
Я использую Windows 10 и Microsoft Office 2016.
Этот комментарий был сведен к минимуму модератором на сайте
Измените xFileStr = Dir(xFolder & "\*.doc") на xFileStr = Dir(xFolder & "\*.docx"), поскольку я предполагаю, что у вас более новый формат файлов Word.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, код работает, но в конце выдает «Ошибка выполнения 91», некоторые из моих файлов содержат объекты. Любая идея, как я могу это исправить?
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо большое! Работал как шарм!
Этот комментарий был сведен к минимуму модератором на сайте
Работал быстро и отлично с папкой, полной файлов .docx. Я благодарю тебя/
Этот комментарий был сведен к минимуму модератором на сайте
У меня скрипт отлично работает, но только для одной папки. Есть ли способ включить все подпапки?
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за это - я как раз собирался что-то написать сам, когда подумал: "Эй, может быть, кто-то уже сделал это?" Вы сделали, и дело более элегантно, чем я сделал бы. Спасибо вам за вашу тяжелую работу.
Этот комментарий был сведен к минимуму модератором на сайте
Я использовал приведенный выше сценарий для пакетного преобразования документов на корейском языке, но он не сработал. Когда я устал менять кодировку, может ли кто-нибудь помочь мне с этой ошибкой?
Этот комментарий был сведен к минимуму модератором на сайте
Мне НУЖНО, чтобы они конвертировались в текстовые файлы с разделителями, возможно ли это.
Этот комментарий был сведен к минимуму модератором на сайте
Это сработало! Спасибо!
Номинальный 5 из 5
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, спасибо за этот пост. Когда я нажимаю «Выполнить», я получаю сообщение об ошибке: «Ошибка компиляции: недопустимая внешняя процедура». Это зависит от того, использую ли я doc или расширение docx (может быть, это не связано, но я пробовал оба). Пожалуйста, не могли бы вы помочь? Я понятия не имею, как использовать код .... и мне действительно нужно преобразовать массу документов. Благодарю вас!
Этот комментарий был сведен к минимуму модератором на сайте
Привет Дурга,
Код работает хорошо в моем случае.
Убедитесь, что окно модуля (кода) содержит только код VBA, указанный в сообщении.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, это работает отлично. Есть ли способ выбрать другой формат кодировки TXT (например, UTF-8 вместо Windows)?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Саймон,
Следующий код VBA помогает преобразовать все документы Word в указанной папке в файлы UTF-8 .txt.
Sub ConvertDocumentsToTxt()
'Updated by Extendoffice 20201031
    Dim xIndex As Long
    Dim xFolder As Variant
    Dim xFileStr As String
    Dim xFilePath As String
    Dim xDlg As FileDialog
    Dim xActPath As String
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xFileStr = Dir(xFolder & "\*.doc")
    xActPath = ActiveDocument.Path
    While xFileStr <> ""
        xFilePath = xFolder & "\" & xFileStr
        If xFilePath <> xActPath Then
            Set xDoc = Documents.Open(xFilePath, AddToRecentFiles:=False, Visible:=False)
            xIndex = InStrRev(xFilePath, ".")
            xDoc.SaveAs Left(xFilePath, xIndex - 1) & ".txt", FileFormat:=wdFormatText, AddToRecentFiles:=False, Encoding:=msoEncodingUTF8
            xDoc.Close True
        End If
        xFileStr = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Мерси красавчик! La convert se fait très bien
Этот комментарий был сведен к минимуму модератором на сайте
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
Приветствие
Ули
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL