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

Sådan batch konverteres Word-dokumenter til txt-fil?

Denne artikel taler om, hvordan man batchkonvertere alle Word-dokumenter i en bestemt mappe til separate TXT-filer i Word.

Batchkonvertere Word-dokumenter til txt-filer med VBA


Batchkonvertere Word-dokumenter til txt-filer med VBA

Nedenstående VBA-kode kan hjælpe med at konvertere alle Word-dokumenter i en bestemt mappe til txt-filer på én gang. Gør som følger.

1. I Word-dokumentet skal du trykke på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Moduler, kopier derefter nedenstående kode til modulvinduet.

VBA-kode: Batchkonverter Word-dokumenter til 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. Tryk på F5 nøgle for at køre koden.

4. i Gennemse vindue, vælg mappen, der indeholder Word-dokumenter, du vil konvertere til txt-filer, og klik på OK knap. Se skærmbillede:

Derefter kan du se alle dokumenter i den valgte mappe konverteres til txt-filer på én gang. Se skærmbillede:


Anbefalede Word-produktivitetsværktøjer

 

Kutools til Word - mere end 100 avancerede funktioner til Word, spar din 50% tid

  • Komplicerede og gentagne operationer kan udføres engangsbehandling på få sekunder.
  • Indsæt flere billeder på tværs af mapper i Word-dokumentet på én gang.
  • Flet og kombiner flere Word-filer på tværs af mapper i en med den ønskede rækkefølge.
  • Opdel det aktuelle dokument i separate dokumenter efter overskrift, sektionsskift eller andre kriterier.
  • Konverter filer mellem Doc og Docx, Docx og PDF, samling af værktøjer til almindelige konverteringer og markering osv. ...
Sorter kommentarer efter
Kommentarer (22)
Bedømt 5 ud af 5 · 1 vurderinger
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg er fan af poesi. Jeg havde brug for at konvertere mere end 700 ordkompositioner til txt. Takket være din subrutine lykkedes det mig at gøre det på ingen tid.
Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Ville det være muligt at give den samme kode, når jeg bruger det seneste Word på en Mac? Jeg får Run-Time-fejlen 5948, og fejlretningen peger på dette afsnit: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇ
Denne kommentar blev minimeret af moderatoren på webstedet
Tak skal du have! Dette er yderst nyttigt
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan fik du det til at virke?
Denne kommentar blev minimeret af moderatoren på webstedet
Virker ikke for mig, nogen ideer til hvorfor?
Skal jeg gøre dette i et word-dokument fra den samme mappe, som jeg vil konvertere, eller et hvilket som helst nyt word-dokument, som jeg starter? -Prøvde begge muligheder, og ingen virker, men jeg får heller ingen fejlmeddelelser
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg bruger Windows 10 og Microsoft Office 2016
Denne kommentar blev minimeret af moderatoren på webstedet
Skift xFileStr = Dir(xFolder & "\*.doc") til xFileStr = Dir(xFolder & "\*.docx"), da jeg antager, at du har nyere word-filformat.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, koden virker, men i slutningen giver mig 'Runtime error 91', nogle af mine filer har objekter. Har du nogen idé om, hvordan jeg kan rette dette?
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak! Virkede som en charme!
Denne kommentar blev minimeret af moderatoren på webstedet
Fungerede hurtigt og perfekt på en mappe fuld af .docx-filer. Jeg takker dig/
Denne kommentar blev minimeret af moderatoren på webstedet
Scriptet fungerer godt for mig, men kun for én mappe. Er der nogen måde at inkludere alle undermapper på?
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for dette - jeg skulle lige kode noget selv, da jeg tænkte: "Hej, er der måske nogen, der allerede har gjort dette?" Du havde, og en aftale mere elegant, end jeg ville have gjort. Tak for dit hårde arbejde.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg brugte scriptet ovenfor til at batchkonvertere dokumenter på koreansk, men scriptet virkede ikke. Når jeg er træt af at ændre kodningen, kan nogen hjælpe mig med denne fejl?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg SKAL dem konvertere til afgrænsede tekstfiler, er dette stadig muligt.
Denne kommentar blev minimeret af moderatoren på webstedet
Det virkede en godbid! Tak!
Bedømt 5 ud af 5
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Tak for dette indlæg. Når jeg trykker på "kør", får jeg en fejlmeddelelse: "Kompileringsfejl: Ugyldig ekstern procedure." Dette er, om jeg bruger doc eller docx-udvidelsen (måske ikke relateret, men jeg har prøvet begge dele). Kan du hjælpe? Jeg aner ikke, hvordan man bruger kode .... og har virkelig brug for at konvertere et væld af dokumenter. Tak skal du have!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Durga,
Koden fungerer godt i mit tilfælde.
Sørg for, at vinduet Modul (Kode) kun indeholder den VBA-kode, der er angivet i indlægget.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, dette fungerer perfekt. Er der en måde at vælge et andet kodningsformat for TXT (UTF-8 i stedet for Windows for eksempel)?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej simon
Følgende VBA-kode hjælper med at konvertere alle Word-dokumenter i en bestemt mappe til 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
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak
Denne kommentar blev minimeret af moderatoren på webstedet
Tak beaucoup! La konvertering se fait très bien
Denne kommentar blev minimeret af moderatoren på webstedet
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
hilsen
Uli
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL