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

Come convertire in batch documenti Word in file txt?

Questo articolo parla di come convertire in batch tutti i documenti di Word in una cartella specifica per separare i file TXT in Word.

Conversione in batch di documenti Word in file txt con VBA


Conversione in batch di documenti Word in file txt con VBA

Il codice VBA sottostante può aiutare a convertire tutti i documenti di Word in una cartella specifica in file txt contemporaneamente. Si prega di fare quanto segue.

1. Nel documento di Word, premere il pulsante altro + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo, quindi copia il codice sottostante nella finestra del modulo.

Codice VBA: converte in batch i documenti di Word in file 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. premi il F5 chiave per eseguire il codice.

4. Nel Scopri la nostra gamma selezionare la cartella contenente i documenti di Word da convertire in file txt e fare clic su OK pulsante. Vedi screenshot:

Quindi puoi vedere tutti i documenti nella cartella selezionata vengono convertiti in file txt contemporaneamente. Vedi screenshot:


Strumenti di produttività Word consigliati

 

Kutools per Word: oltre 100 funzionalità avanzate per Word, risparmia il 50% del tempo

  • Le operazioni complicate e ripetute possono essere eseguite una sola volta in pochi secondi.
  • Inserisci più immagini tra le cartelle nel documento di Word contemporaneamente.
  • Unisci e combina più file di Word tra cartelle in uno con l'ordine desiderato.
  • Suddividi il documento corrente in documenti separati in base a titolo, interruzione di sezione o altri criteri.
  • Converti file tra Doc e Docx, Docx e PDF, raccolta di strumenti per conversioni e selezioni comuni e così via ...
Commenti (22)
Rinomato 5 su 5 · Valutazioni 1
Questo commento è stato fatto dal moderatore sul sito
Sono un fan della poesia. Avevo bisogno di convertire più di 700 composizioni di parole in txt. Grazie alla tua subroutine sono riuscito a farlo in pochissimo tempo.
Grazie
Questo commento è stato fatto dal moderatore sul sito
Sarebbe possibile fornire lo stesso codice quando utilizzo l'ultima versione di Word su un Mac? Ottengo l'errore di runtime 5948 e i punti di debug in questa sezione: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇ
Questo commento è stato fatto dal moderatore sul sito
Grazie! Questo è estremamente utile
Questo commento è stato fatto dal moderatore sul sito
Come hai fatto a farlo funzionare?
Questo commento è stato fatto dal moderatore sul sito
Non funziona per me, qualche idea perché?
Devo farlo in un documento di Word dalla stessa cartella che voglio convertire o in un nuovo documento di Word che inizio? -Ho provato entrambe le opzioni e nessuna funziona ma non ricevo messaggi di errore
Questo commento è stato fatto dal moderatore sul sito
Sto usando Windows 10 e Microsoft Office 2016
Questo commento è stato fatto dal moderatore sul sito
Cambia xFileStr = Dir(xFolder & "\*.doc") in xFileStr = Dir(xFolder & "\*.docx") poiché presumo che tu abbia un formato di file di parole più recente.
Questo commento è stato fatto dal moderatore sul sito
Ciao, il codice funziona ma alla fine mi dà 'Errore di runtime 91', alcuni dei miei file hanno oggetti. Qualche idea su come posso risolvere questo problema?
Questo commento è stato fatto dal moderatore sul sito
Grazie mille! Ha funzionato come un incantesimo!
Questo commento è stato fatto dal moderatore sul sito
Ha funzionato rapidamente e perfettamente su una cartella piena di file .docx. Ti ringrazio/
Questo commento è stato fatto dal moderatore sul sito
Lo script funziona benissimo per me, ma solo per una cartella. C'è un modo per includere tutte le sottocartelle?
Questo commento è stato fatto dal moderatore sul sito
Grazie per questo - stavo per programmare qualcosa da solo quando ho pensato: "Ehi, forse qualcuno l'ha già fatto?" L'avevi fatto, e un patto in modo più elegante di quanto avrei fatto io. Grazie per il tuo duro lavoro.
Questo commento è stato fatto dal moderatore sul sito
Ho usato lo script sopra per convertire in batch i documenti in coreano, ma lo script non ha funzionato. Quando mi stanco di cambiare la codifica, qualcuno può aiutarmi con questo errore?
Questo commento è stato fatto dal moderatore sul sito
HO BISOGNO che li convertano in file di testo delimitati è ancora possibile.
Questo commento è stato fatto dal moderatore sul sito
Ha funzionato a meraviglia! Grazie!
Rinomato 5 su 5
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per questo post. Quando premo "esegui", ricevo un messaggio di errore: "Errore di compilazione: procedura esterna non valida". Questo è se utilizzo l'estensione doc o docx (forse non correlato ma ho provato entrambi). Per favore, puoi aiutarmi? Non ho idea di come usare il codice... e ho davvero bisogno di convertire un sacco di documenti. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao Durga,
Il codice funziona bene nel mio caso.
Assicurati che la finestra del modulo (codice) contenga solo il codice VBA fornito nel post.
Questo commento è stato fatto dal moderatore sul sito
Ciao, funziona perfettamente. C'è un modo per scegliere un diverso formato di codifica del TXT (UTF-8 invece di Windows per esempio)?
Questo commento è stato fatto dal moderatore sul sito
Ciao Simon,
Il seguente codice VBA aiuta a convertire tutti i documenti di Word in una cartella specificata in file 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
Questo commento è stato fatto dal moderatore sul sito
Grazie molto
Questo commento è stato fatto dal moderatore sul sito
Grazie mille ! La conversione se fait très bien
Questo commento è stato fatto dal moderatore sul sito
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
Saluto
Uli
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL