2

我需要以编程方式合并一大堆 docx 文件。想象一下它们的编号是 1 到 10。我基本上需要一个包含所有 10 个文档的 final.docx 文件。如果我可以以某种方式将第二个附加到第一个,那么我可以重复第三个,然后是第四个,等等。

请注意,我不需要重建目录或类似的东西。每个 docx 都只有一些静态内容。但是,这些文档上有页脚,需要保留。

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

感谢您。

4

2 回答 2

2

我在 C# 中创建了一个应用程序,将 RTF 文件合并到一个文档中,我希望它也适用于 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);  

希望这可以帮助!

于 2009-01-22T12:39:08.977 回答
1

使用 Open XML Power Tools,描述于http://blogs.msdn.com/b/ericwhite/archive/2009/02/05/move-insert-delete-paragraphs-in-word-processing-documents-using-the-打开-xml-sdk.aspx

于 2010-12-09T01:16:33.403 回答