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

Como converter em lote documentos do Word para arquivo txt?

Este artigo fala sobre como converter em lote todos os documentos do Word em uma pasta específica para separar arquivos TXT no Word.

Converta em lote documentos do Word em arquivos txt com VBA


Converta em lote documentos do Word em arquivos txt com VBA

O código VBA a seguir pode ajudar a converter todos os documentos do Word em uma pasta específica para arquivos txt de uma só vez. Faça o seguinte.

1. No documento do Word, pressione o outro + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, clique em inserção > Móduloe copie o código abaixo para a janela Módulo.

Código VBA: conversão em lote de documentos do Word em arquivos 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. aperte o F5 chave para executar o código.

4. No Procurar janela, selecione a pasta que contém os documentos do Word que você converterá em arquivos txt e clique no botão OK botão. Veja a imagem:

Então você pode ver que todos os documentos na pasta selecionada são convertidos em arquivos txt de uma vez. Veja a imagem:


Ferramentas de produtividade de palavras recomendadas

 

Kutools para Word - Mais de 100 recursos avançados para Word, economize 50% do tempo

  • Operações complicadas e repetidas podem ser executadas com processamento único em segundos.
  • Insira várias imagens em pastas em um documento do Word de uma vez.
  • Mescle e combine vários arquivos do Word em pastas em um na ordem desejada.
  • Divida o documento atual em documentos separados de acordo com o título, quebra de seção ou outros critérios.
  • Converta arquivos entre Doc e Docx, Docx e PDF, coleção de ferramentas para conversões e seleção comuns, e assim por diante ...
Comentários (22)
Avaliado 5 fora do 5 · classificações 1
Este comentário foi feito pelo moderador no site
Sou fã de poesia. Eu precisava converter mais de 700 composições de palavras para txt. Graças à sua sub-rotina, consegui fazê-lo em pouco tempo.
Obrigado
Este comentário foi feito pelo moderador no site
Seria possível fornecer o mesmo código quando eu usar o Word mais recente em um Mac? Recebo o erro de tempo de execução 5948 e pontos de depuração para esta seção: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇ
Este comentário foi feito pelo moderador no site
Obrigada! Isso é extremamente útil
Este comentário foi feito pelo moderador no site
Como você fez isto funcionar?
Este comentário foi feito pelo moderador no site
Não está funcionando para mim, alguma idéia por quê?
Preciso fazer isso em um documento do Word da mesma pasta que desejo converter ou em qualquer novo documento do Word que inicie? -Tentei as duas opções e nenhuma está funcionando, mas também não estou recebendo nenhuma mensagem de erro
Este comentário foi feito pelo moderador no site
Estou usando o Windows 10 e o Microsoft Office 2016
Este comentário foi feito pelo moderador no site
Altere xFileStr = Dir(xFolder & "\*.doc") para xFileStr = Dir(xFolder & "\*.docx"), pois suponho que você tenha um formato de arquivos de palavras mais recente.
Este comentário foi feito pelo moderador no site
Oi, o código funciona, mas no final me dá 'Erro de tempo de execução 91', alguns dos meus arquivos têm objetos. Alguma ideia de como posso corrigir isso?
Este comentário foi feito pelo moderador no site
Muito obrigado! Funcionou como um encanto!
Este comentário foi feito pelo moderador no site
Funcionou rápida e perfeitamente em uma pasta cheia de arquivos .docx. Eu que agradeço/
Este comentário foi feito pelo moderador no site
O script funciona muito bem para mim, mas apenas para uma pasta. Existe alguma maneira de incluir todas as subpastas?
Este comentário foi feito pelo moderador no site
Obrigado por isso - eu estava indo codificar algo quando pensei: "Ei, talvez alguém já tenha feito isso?" Você tinha, e muito mais elegante do que eu teria feito. Obrigado por seu trabalho duro.
Este comentário foi feito pelo moderador no site
Eu usei o script acima para converter documentos em coreano em lote, mas o script não funcionou. Quando cansei de alterar a codificação, alguém pode me ajudar com esse erro?
Este comentário foi feito pelo moderador no site
EU PRECISO que eles convertam em arquivos de texto delimitados, isso ainda é possível.
Este comentário foi feito pelo moderador no site
Isso funcionou um deleite! Obrigado!
Avaliado 5 fora do 5
Este comentário foi feito pelo moderador no site
Olá, obrigado por este post. Quando clico em "executar", recebo uma mensagem de erro: "Erro de compilação: procedimento externo inválido". Isto é se eu uso o doc ou a extensão docx (talvez não relacionado, mas eu tentei os dois.) Por favor, você pode ajudar? Eu não tenho idéia de como usar o código .... e realmente preciso converter uma tonelada de documentos. Obrigada!
Este comentário foi feito pelo moderador no site
Olá Durga,
O código funciona bem no meu caso.
Certifique-se de que a janela Módulo (Código) contém apenas o código VBA fornecido na postagem.
Este comentário foi feito pelo moderador no site
Olá, funciona perfeitamente. Existe uma maneira de escolher um formato de codificação diferente do TXT (UTF-8 em vez do Windows, por exemplo)?
Este comentário foi feito pelo moderador no site
Oi simon
O código VBA a seguir ajuda a converter todos os documentos do Word em uma pasta especificada em arquivos 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
Este comentário foi feito pelo moderador no site
Muito obrigado
Este comentário foi feito pelo moderador no site
Merci beaucoup! A conversão se faz très bien
Este comentário foi feito pelo moderador no site
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
Saudação
Uli
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL