2009-01-22 182 views
2

我需要以編程方式合併一大堆docx文件。想象一下,它們編號爲1到10.我基本上需要一個包含所有10個文檔的final.docx文件。 如果我可以將第二個追加到第一個,那麼我可以重複第三個,然後第四個等。將2個DOCX文件合併爲1?

請注意,我不需要重建目錄或類似的東西。每個docx只包含一些靜態內容。但是這些文件上有腳註,需要保留。

最好是在C#或MSBuild中的答案。

感謝你。

回答

2

我在C#中創建了一個應用程序,將RTF文件合併到一個文檔中,Iam希望它能夠適用於DOC和DOCX文件。

 Word._Application wordApp; 
     Word._Document wordDoc; 
     object outputFile = outputFileName; 
     object missing = System.Type.Missing; 
     object vk_false = false; 
     object defaultTemplate = defaultWordDocumentTemplate; 
     object pageBreak = Word.WdBreakType.wdPageBreak; 
     string[] filesToMerge = new string[pageCounter]; 
     filestoDelete = new string[pageCounter]; 

     for (int i = 0; i < pageCounter; i++) 
     { 
      filesToMerge[i] = @"C:\temp\temp" + i.ToString() + ".rtf"; 
      filestoDelete[i] = @"C:\temp\temp" + i.ToString() + ".rtf";     
     } 
     try 
     { 
      wordDoc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing); 
     } 
     catch(Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
     } 
     Word.Selection selection= wordApp.Selection; 

     foreach (string file in filesToMerge) 
     { 
      selection.InsertFile(file, 
       ref missing, 
       ref missing, 
       ref missing, 
       ref missing); 

      selection.InsertBreak(ref pageBreak);          
     } 
     wordDoc.SaveAs(ref outputFile, ref missing, ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing); 

希望這會有所幫助!