Unir arquivos .doc em um .doc (mantendo o formato original de cada documento)

5

Eu tenho cerca de ~ 50% de arquivos.doc, que parecem perfeitos (eles são extraídos com Able2Extract). Agora eu quero juntar esses 50 arquivos em um grande .doc . Eu tentei usar o recurso "Inserir" embutido do Word, mas isso bagunçou todo o formato. Eu quero manter tudo que tenho. Como apenas document1 - > document2 - > document3 .

Nada "inteligente" ou "inteligente" necessário durante a conversão, apenas a capacidade de se juntar a eles. (Assim, tornando-os todos pesquisáveis, esse é o objetivo final.) Eu não me importo se o método / solução aplicar uma única página em branco em cada final de documento também.

    
por Shiki 21.06.2012 / 22:05

2 respostas

2

Os documentos precisam estar em um .doc depois que você os constrói? Você pode tentar combiná-los em um grande .pdf com o Adobe Acrobat ou algo similar. Isso alcançaria seu objetivo de ter todos os documentos juntos em um formato pesquisável, preservando a formatação / layout de cada um individualmente.

    
por 21.06.2012 / 22:14
0

A melhor maneira de unir os documentos mantendo a formatação original é usar o VBA e automatizar as etapas que você faria para unir os documentos manualmente. Você precisará ter algumas coisas em mente para garantir que a formatação permaneça a mesma:

  • Verifique se cada documento está separado por uma nova seção
  • Assegure-se de que cada documento seja importado usando a formatação do Keep Source.

A macro VBA a seguir deve ajudar a automatizar o processo, mantendo as informações acima em mente. Eu não testei primeiro, então peço desculpas se houver algum bug.

Sub CombineAll(sPath As String) 
    Dim baseDoc As Document, sFile As String 
    Set baseDoc = Application.Documents.Open(sPath & "BaseDoc.doc") 

    sFile = Dir(sPath & "*.doc") 
     'Loop through all .doc files in that path
    Do While sFile <> "" 

       Set sourceDoc = Application.Documents.Open(sPath & sFile) 
       Application.Selection.WholeStory
       Application.Selection.Copy
       Application.ActiveWindow.Close savechanges:=wdDoNotSaveChanges
       baseDoc.Activate

       Application.Selection.PasteAndFormat (wdFormatOriginalFormattig)
       baseDoc.InsertBreak Type:=wdSectionBreakNextPage
       sFile = Dir 
    Loop 
End Sub 
    
por 04.07.2012 / 13:12