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

Jak hromadně převádět dokumenty Word do souboru txt?

Tento článek hovoří o tom, jak hromadně převádět všechny dokumenty Wordu v konkrétní složce do samostatných souborů TXT v aplikaci Word.

Dávkový převod dokumentů Word do souborů txt pomocí VBA


Dávkový převod dokumentů Word do souborů txt pomocí VBA

Níže uvedený kód VBA vám pomůže převést všechny dokumenty Wordu v konkrétní složce na soubory txt najednou. Postupujte prosím následovně.

1. V dokumentu Word stiskněte Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul, potom zkopírujte níže uvedený kód do okna modulu.

Kód VBA: Dávkový převod dokumentů Word do souborů 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. zmáčkni F5 klíč ke spuštění kódu.

4. V Procházet V okně vyberte složku obsahující dokumenty Word, které převedete na soubory txt, a klikněte na ikonu OK knoflík. Viz screenshot:

Pak můžete vidět, že všechny dokumenty ve vybrané složce jsou převedeny do souborů txt najednou. Viz snímek obrazovky:


Doporučené nástroje produktivity slov

 

Kutools pro Word – více než 100 pokročilých funkcí pro Word, uložte si svůj
50%
Čas

  • Složité a opakované operace lze provádět jednorázově během několika sekund.
  • Vložte více obrázků do složek do dokumentu Word najednou.
  • Sloučte a zkombinujte více souborů Wordu napříč složkami do jednoho v požadovaném pořadí.
  • Rozdělte aktuální dokument na samostatné dokumenty podle záhlaví, zalomení sekce nebo jiných kritérií.
  • Převádějte soubory mezi Doc a Docx, Docx a PDF, kolekci nástrojů pro běžné převody a výběr atd. ...
Komentáře (21)
Hodnocení 5 z 5 · 1 hodnocení:
Tento komentář byl moderátorem webu minimalizován
Jsem fanouškem poezie. Potřeboval jsem převést více než 700 slovních kompozic do txt. Díky vašemu podprogramu se mi to podařilo během chvilky.
Děkuji
Tento komentář byl moderátorem webu minimalizován
Bylo by možné poskytnout stejný kód, když používám nejnovější Word na Macu? Zobrazuje se mi chyba Run-Time 5948 a ladicí body do této sekce: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇˇ
Tento komentář byl moderátorem webu minimalizován
Děkuji! To je velmi užitečné
Tento komentář byl moderátorem webu minimalizován
Jak jste to zprovoznili?
Tento komentář byl moderátorem webu minimalizován
Nefunguje mi to, nějaké nápady proč?
Musím to udělat ve wordovém dokumentu ze stejné složky, kterou chci převést, nebo v jakémkoli novém wordovém dokumentu, který začnu? -Vyzkoušel jsem obě možnosti a žádná nefunguje, ale také nedostávám žádné chybové zprávy
Tento komentář byl moderátorem webu minimalizován
Používám Windows 10 a Microsoft Office 2016
Tento komentář byl moderátorem webu minimalizován
Změňte xFileStr = Dir(xFolder & "\*.doc") na xFileStr = Dir(xFolder & "\*.docx"), protože předpokládám, že máte novější formát souborů Word.
Tento komentář byl moderátorem webu minimalizován
Ahoj, kód funguje, ale na konci mi hlásí 'Chyba běhu 91', některé moje soubory mají objekty. Nějaký nápad, jak to mohu opravit?
Tento komentář byl moderátorem webu minimalizován
Děkuji moc! Fungovalo jako kouzlo!
Tento komentář byl moderátorem webu minimalizován
Pracovalo rychle a dokonale na složce plné souborů .docx. Děkuji ti/
Tento komentář byl moderátorem webu minimalizován
Skript mi ​​funguje skvěle, ale jen pro jednu složku. Existuje nějaký způsob, jak zahrnout všechny podsložky?
Tento komentář byl moderátorem webu minimalizován
Díky za to - právě jsem chtěl něco kódovat sám, když jsem si pomyslel: "Hej, možná to už někdo udělal?" Měl jsi to, a to elegantněji, než bych to udělal já. Děkuji za vaši tvrdou práci.
Tento komentář byl moderátorem webu minimalizován
Výše uvedený skript jsem použil k hromadnému převodu dokumentů v korejštině, ale skript nefungoval. Když jsem unavený změnou kódování, může mi někdo pomoci s touto chybou?
Tento komentář byl moderátorem webu minimalizován
POTŘEBUJI je převést na textové soubory s oddělovači, je to stále možné.
Tento komentář byl moderátorem webu minimalizován
To se povedlo! Dík!
Hodnocení 5 z 5
Tento komentář byl moderátorem webu minimalizován
Dobrý den, děkuji za tento příspěvek. Když stisknu "spustit", zobrazí se chybová zpráva: "Chyba kompilace: Neplatná vnější procedura." Jde o to, zda používám rozšíření doc nebo docx (možná to nesouvisí, ale zkusil jsem obojí.) Můžete mi prosím pomoci? Nemám ponětí, jak používat kód .... a opravdu potřebuji převést spoustu dokumentů. Děkuji!
Tento komentář byl moderátorem webu minimalizován
Ahoj Durgo,
Kód v mém případě funguje dobře.
Ujistěte se prosím, že okno Modul (Code) obsahuje pouze kód VBA uvedený v příspěvku.
Tento komentář byl moderátorem webu minimalizován
Ahoj, funguje to perfektně. Existuje způsob, jak zvolit jiný formát kódování TXT (například UTF-8 místo Windows)?
Tento komentář byl moderátorem webu minimalizován
Ahoj Simon,
Následující kód VBA pomáhá převést všechny dokumenty aplikace Word v určené složce na soubory 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
Tento komentář byl moderátorem webu minimalizován
Mnohokrát děkuji
Tento komentář byl moderátorem webu minimalizován
Děkuji ! Konverze se stane très bien
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL