Neste artigo, temos o prazer de compartilhar com você 2 maneiras de mesclar rapidamente vários documentos do Word em um só via VBA.
No Word, existe o recurso interno padrão para ajudar o usuário a combinar ou mesclar vários documentos em um. Os detalhes são explicados neste artigo: Como combinar e mesclar vários documentos do Word em um
Com esse método, você precisa fazer alguns cliques e o conteúdo do próximo documento sempre vem logo após o anterior. Portanto, queremos oferecer a você maneiras mais rápidas de fazer isso.
Método 1: Mesclar documentos selecionados em um
- Em primeiro lugar, crie um novo documento em branco.
- Acione o editor VBA no Word pressionando “Alt+F11”.
- Em seguida, clique em “Normal”.
- Em seguida, clique em “Inserir”.
- E escolha “Módulo”.
- Clique duas vezes no novo módulo para abrir o espaço de edição.
- Cole a seguinte macro lá:
Sub MergeMultiDocsIntoOne()
Dim dlgFile As FileDialog
Dim nTotalFiles As Integer
Dim nEachSelectedFile As Integer
Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
With dlgFile
.AllowMultiSelect = True
If .Show <> -1 Then
Exit Sub
Else
nTotalFiles = .SelectedItems.Count
End If
End With
For nEachSelectedFile = 1 To nTotalFiles
Selection.InsertFile dlgFile.SelectedItems.Item(nEachSelectedFile)
If nEachSelectedFile < nTotalFiles Then
Selection.InsertBreak Type:=wdPageBreak
Else
If nEachSelectedFile = nTotalFiles Then
Exit Sub
End If
End If
Next nEachSelectedFile
End Sub
- Em seguida, clique em “Executar” ou pressione “F5”.
- Agora, na janela “Browse”, selecione vários arquivos pressionando “Ctrl” e clique em “OK”.
- Em seguida, todo o conteúdo dos arquivos selecionados será reunido no novo documento, com os textos de cada documento começando em uma nova página.
Nota:
Como mencionamos, esta macro coloca os textos de cada documento em uma nova página. Mas se você precisar que eles sejam um após o outro, você pode alterar algumas linhas de código na macro. Basta encontrar a linha “If nEachSelectedFile < nTotalFiles Then”, excluí-la e as próximas seis linhas também.
Método 2: Mesclar todos os documentos em uma pasta em um
Caso você tenha uma pasta de arquivos a serem combinados, esta macro funcionará perfeitamente.
- Para começar, instale e execute a macro conforme descrito no método 1.
- Em seguida, substitua a macro por esta:
Sub MergeFilesInAFolderIntoOneDoc()
Dim dlgFile As FileDialog
Dim objDoc As Document, objNewDoc As Document
Dim StrFolder As String, strFile As String
Set dlgFile = Application.FileDialog(msoFileDialogFolderPicker)
With dlgFile
If .Show = -1 Then
StrFolder = .SelectedItems(1) & "\"
Else
MsgBox ("No folder is selected!")
Exit Sub
End If
End With
strFile = Dir(StrFolder & "*.docx", vbNormal)
Set objNewDoc = Documents.Add
While strFile <> ""
Set objDoc = Documents.Open(FileName:=StrFolder & strFile)
objDoc.Range.Copy
objNewDoc.Activate
With Selection
.Paste
.InsertBreak Type:=wdPageBreak
.Collapse wdCollapseEnd
End With
objDoc.Close SaveChanges:=wdDoNotSaveChanges
strFile = Dir()
Wend
objNewDoc.Activate
Selection.EndKey Unit:=wdStory
Selection.Delete
End Sub
- Execute a macro clicando em "Executar".
- Em seguida, você verá a janela “Browse” aberta. Selecione a pasta onde você armazena todos os documentos. E clique em “OK”.
Da mesma forma, os textos de cada documento começam em uma nova página. Para que fiquem juntos, um após o outro, localize e exclua a linha de código “.InsertBreak Type:=wdPageBreak”.
Proteja seu documento do Word corretamente
Uma das melhores maneiras de proteger seus documentos do Word é fazer backup deles regularmente. Com os backups em mãos, você nunca terá que temer a perda de dados. Além disso, também é aconselhável obter uma ferramenta para reparar docx se algum deles for danificado.
Introdução do autor:
Vera Chen é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo Excel danificado e pdf reparar produtos de software. Para mais informações visite www.datanumen.com


