我需要以编程方式合并一大堆docx文件。想象一下,它们的编号为1到10.我基本上需要一个包含所有10个文档的final.docx文件。 如果我能以某种方式将第二个附加到第一个,那么我可以重复第三个,然后是第四个等等。
请注意,我不需要重建目录或类似的东西。每个docx都有一些静态内容。然而,这些文件中有页脚,需要保留它们。
最好是C#或MSBuild中的答案。
感谢你。
答案 0 :(得分: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);
希望这有帮助!
答案 1 :(得分:1)