Frage

Ich brauche eine ganze Reihe von docx-Dateien programmatisch zu verschmelzen. Stellen Sie sich vor sie 1 bis 10. Ich im Wesentlichen eine final.docx Datei benötigen nummeriert sind, die alle 10 Dokumente in die er enthält. Wenn ich irgendwie den zweiten in den ersten anhängen kann, dann kann ich es wiederholen, für die dritte, dann vierte usw.

Beachten Sie, dass ich nicht ein Inhaltsverzeichnis oder so etwas wieder aufbauen müssen. Jede docx nur hat einige statische Inhalte in ihm. Allerdings gibt es Fußzeilen auf diese Dokumente, und sie müssen erhalten bleiben.

Vorzugsweise wird eine Antwort in C # oder MSBuild.

Ich danke Ihnen.

War es hilfreich?

Lösung

ich eine Anwendung in C # gemacht hatte RTF-Dateien in eine doc, Iam hoffnungsvoll es sollte auch für DOC und DOCX-Dateien arbeiten zu fusionieren.

        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);  

Hope, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top