質問

プログラムで多数のdocxファイルをマージする必要があります。 1〜10の番号が付けられていると想像してください。基本的には、10個すべてのドキュメントを含むfinal.docxファイルが必要です。 どういうわけか2番目を1番目に追加できる場合は、3番目、4番目などに繰り返します。

目次などを再構築する必要がないことに注意してください。各docxには、静的コンテンツが含まれています。ただし、これらのドキュメントにはフッターがあり、保存する必要があります。

C#またはMSBuildでの回答が望ましい。

ありがとうございます。

役に立ちましたか?

解決

RTFファイルを1つのドキュメントにマージするためにC#でアプリケーションを作成しましたが、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);  

これがお役に立てば幸いです!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top