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

Як пакетно конвертувати документи Word у файл txt?

У цій статті йдеться про те, як пакетно перетворити всі документи Word у певній папці на окремі файли TXT у програмі Word.

Пакетне перетворення документів Word у файли txt за допомогою VBA


Пакетне перетворення документів Word у файли txt за допомогою VBA

Наведений нижче код VBA може допомогти перетворити всі документи Word у певній папці у файли txt одночасно. Будь ласка, виконайте наступне.

1. У документі Word натисніть клавішу інший + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2 В Microsoft Visual Basic для додатків вікна, натисніть Insert > Модулі, а потім скопіюйте код нижче у вікно модуля.

Код 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, які ви конвертуєте у файли txt, і натисніть на OK кнопку. Дивіться знімок екрана:

Тоді ви зможете побачити, що всі документи у вибраній папці перетворюються одночасно у файли txt. Дивіться знімок екрана:


Рекомендовані засоби підвищення продуктивності слів

 

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

  • Складні та повторювані операції можна виконати одноразово за кілька секунд.
  • Вставте кілька зображень між папками в документ Word одночасно.
  • Об’єднайте та об’єднайте декілька файлів Word у папках в одне із потрібним замовленням.
  • Поділіть поточний документ на окремі документи відповідно до заголовка, розділу розділу чи інших критеріїв.
  • Перетворюйте файли між Doc та Docx, Docx та PDF, колекцією інструментів для загальних перетворень та виділення тощо ...
Коментарі (22)
Оцінено 5 з 5 · рейтинги 1
Цей коментар був мінімізований модератором на сайті
Я шанувальник поезії. Мені потрібно було перетворити понад 700 композицій слів у txt. Завдяки вашій підпрограмі мені вдалося це зробити в найкоротші терміни.
Дякую
Цей коментар був мінімізований модератором на сайті
Чи можна було б надати той самий код, коли я використовую останню версію Word на Mac? Я отримую помилку під час виконання 5948 і вказує на налагодження цього розділу: Установіть 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 у вказаній папці на файли .txt UTF-8
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 conversion se fait trè bien
Цей коментар був мінімізований модератором на сайті
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
Привітання
Улі
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL