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

Hur batchkonverterar jag Word-dokument till txt-fil?

Den här artikeln talar om hur man konverterar alla Word-dokument i en specifik mapp till separata TXT-filer i Word.

Batchkonvertera Word-dokument till txt-filer med VBA


Batchkonvertera Word-dokument till txt-filer med VBA

Nedanstående VBA-kod kan hjälpa till att konvertera alla Word-dokument i en viss mapp till txt-filer samtidigt. Gör så här.

1. I Word-dokumentet trycker du på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Modulerna, kopiera sedan koden nedan till modulfönstret.

VBA-kod: Batchkonvertera Word-dokument till txt-filer

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. tryck på F5 för att köra koden.

4. I Bläddra välj mappen som innehåller Word-dokument som du kommer att konvertera till txt-filer och klicka på OK knapp. Se skärmdump:

Då kan du se alla dokument i den valda mappen konverteras till txt-filer på en gång. Se skärmdump:


Rekommenderade Word-produktivitetsverktyg

 

Kutools For Word - Mer än 100 avancerade funktioner för Word, spara 50 % tid

  • Komplicerade och upprepade operationer kan göras engångsbehandling på några sekunder.
  • Infoga flera bilder över mappar i Word-dokumentet samtidigt.
  • Slå ihop och kombinera flera Word-filer över mappar till en med önskad ordning.
  • Dela upp det aktuella dokumentet i separata dokument enligt rubrik, avsnittbrytning eller andra kriterier.
  • Konvertera filer mellan Doc och Docx, Docx och PDF, samling verktyg för vanliga konverteringar och val, och så vidare ...
Sortera kommentarer efter
Kommentarer (22)
Klassad 5 av 5 · 1 betyg
Denna kommentar minimerades av moderatoren på webbplatsen
Jag är ett fan av poesi. Jag behövde konvertera mer än 700 ordkompositioner till txt. Tack vare din subrutin lyckades jag göra det på nolltid.
Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Skulle det vara möjligt att tillhandahålla samma kod när jag använder det senaste Word på en Mac? Jag får Run-Time error 5948 och felsökningen pekar på detta avsnitt: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇ
Denna kommentar minimerades av moderatoren på webbplatsen
Tack! Detta är oerhört användbart
Denna kommentar minimerades av moderatoren på webbplatsen
Hur fick du det att fungera?
Denna kommentar minimerades av moderatoren på webbplatsen
Fungerar inte för mig, några idéer varför?
Behöver jag göra detta i ett word-dokument från samma mapp som jag vill konvertera eller något nytt word-dokument som jag startar? -Prövat båda alternativen och inget fungerar men jag får heller inga felmeddelanden
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använder Windows 10 och Microsoft office 2016
Denna kommentar minimerades av moderatoren på webbplatsen
Ändra xFileStr = Dir(xFolder & "\*.doc") till xFileStr = Dir(xFolder & "\*.docx") eftersom jag antar att du har nyare Word-filformat.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, koden fungerar men i slutet ger mig 'Runtime error 91', några av mina filer har objekt. Någon idé om hur jag kan fixa detta?
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket! Fungerade som en smäck!
Denna kommentar minimerades av moderatoren på webbplatsen
Fungerade snabbt och perfekt på en mapp full av .docx-filer. Jag tackar dig/
Denna kommentar minimerades av moderatoren på webbplatsen
Skriptet fungerar utmärkt för mig, men bara för en mapp. Finns det något sätt att inkludera alla undermappar?
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för detta - jag tänkte precis koda något själv när jag tänkte "Hej kanske någon har gjort det här redan?" Du hade, och en affär mer elegant än jag skulle ha gjort. Tack för ditt hårda arbete.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använde skriptet ovan för att batchkonvertera dokument på koreanska, men skriptet fungerade inte. När jag tröttnade på att ändra kodningen, kan någon hjälpa mig med det här felet?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag BEHÖVER dem för att konvertera till avgränsade textfiler är detta fortfarande möjligt.
Denna kommentar minimerades av moderatoren på webbplatsen
Det fungerade en njutning! Tack!
Klassad 5 av 5
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, tack för detta inlägg. När jag trycker på "kör" får jag ett felmeddelande: "Kompileringsfel: Ogiltig extern procedur." Detta är om jag använder doc- eller docx-tillägget (kanske orelaterade men jag försökte båda.) Snälla kan du hjälpa? Jag har ingen aning om hur man använder kod.... och behöver verkligen konvertera massor av dokument. Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Durga,
Koden fungerar bra i mitt fall.
Se till att fönstret Module (Code) endast innehåller VBA-koden som anges i inlägget.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, det här fungerar perfekt. Finns det något sätt att välja ett annat kodningsformat för TXT (UTF-8 istället för Windows till exempel)?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Simon,
Följande VBA-kod hjälper till att konvertera alla Word-dokument i en angiven mapp till UTF-8 .txt-filer
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
Denna kommentar minimerades av moderatoren på webbplatsen
Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket ! La conversion se fait très bien
Denna kommentar minimerades av moderatoren på webbplatsen
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
Hälsning
uli
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL