Laden...
A
amantido
myCSharp.de - Member
1
Themen
4
Beiträge
Letzte Aktivität
vor 11 Monaten
Dabei seit
28.02.2024
Erstellt vor 11 Monaten

Naja wenn es ganz nach mir ginge würd Word einfach komplett raus fliegen und die Dokumente würden mit Latex geschrieben. Dann wäre das alles gar kein Problem mehr. Ich werde mir die genannten Sachen alle mal anschauen.

Danke schonmal an alle!

Erstellt vor 11 Monaten

Der einzige Grund ist dass ich es nicht besser weiß 😄

Ich hatte bisher noch nie Kontakt mit Word in Kombination mit C#. Leider findet man auch im Internet nicht wirklich sinnvolle Informationen dazu. Das was ich da bisher an Code zusammengeschustert habe war auch mehr Try and Error als Wissen. Entsprechend bin ich über jeden Input froh.

Erstellt vor 11 Monaten

Danke für die Antwort.

Hab das jetzt mal im Code so implementiert. Leider bekomme ich jetzt jedes Mal die Meldung:

System.Runtime.InteropServices.COMException: "Aufruf wurde durch Aufgerufenen abgelehnt. (Ausnahme von HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))"

Leider finde ich keine sinnvolle Antwort zu dieser Fehlermeldung. Die Meldung hab ich schon ein paar Mal gehabt auch bisher schon. Aber bisher hab ich diese Meldung immer nur beim zweiten Anlauf gehabt wenn der erste Schief ging und hab es entsprechend auf nicht sauber geschlossen zurück geführt. Ein "Abschießen" aller Word Instanzen hatte dann dazu geführt dass es zumindest wieder weiter ging. Das hilft leider hier nicht.

Erstellt vor 11 Monaten

Hallo Community,

folgende Aufgabenstellung habe ich. Ich soll aus mehreren Word Dokumenten jeweils ein paar Seiten heraus kopieren und in ein großes Word Dokument zusammenfassen. Soweit so unspektakulär. Allerdings hab ich aktuell noch nie mit Word in C# gearbeitet und bin erstmal komplett am verzweifeln.

Mein jetziger Stand ist so. Ziel Dokument wird geöffnet. Quell Dokument wird geöffnet und die entsprechende Seite wird auch heraus kopiert und in das neue Dokument eingefügt. Ebenso wird das zweite Dokument geöffnet und dann in die Ziel Datei eingefügt. Aber hier kommt das Problem. Der neue Teil überschreibt den alten Teil anstatt ihn anzuhängen. Ich komme nicht mehr weiter und brauche eure Schwarmintelligenz. Hier mein Code:

            object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */            
            object oMissing = Missing.Value;
            object Start;
            object Ende;

            //Start Word and create a new document.
            Word.Application ZielApplikation = new Word.Application();
            ZielApplikation = new Word.Application
            {
                Visible = true
            };
            Document ZielDokument = ZielApplikation.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);


            Word.Application QuellApplikation = new Word.Application();

            // Pfad zum ursprünglichen Word-Dokument
            string originalFilePath = @"D:\Anzeige1.docx";

            Document QuellDokument = QuellApplikation.Documents.Open(originalFilePath);

            Start = QuellDokument.GoTo(WdGoToItem.wdGoToPage, WdGoToDirection.wdGoToAbsolute, 2).Start;
            Ende = QuellDokument.GoTo(WdGoToItem.wdGoToPage, WdGoToDirection.wdGoToAbsolute, 3).Start;

            Range pageRange = QuellDokument.Range(Start, Ende);
            pageRange.Copy();
            ZielDokument.Content.Paste();

            QuellDokument.Close();

            object pagebreak = Word.WdBreakType.wdPageBreak;

            ZielApplikation.Selection.InsertBreak(ref pagebreak);
            ZielDokument.GoTo(WdGoToItem.wdGoToEndnote);

            originalFilePath = @"D:\Anzeige2.docx";
            QuellDokument = QuellApplikation.Documents.Open(originalFilePath);

            Start = QuellDokument.GoTo(WdGoToItem.wdGoToPage, WdGoToDirection.wdGoToAbsolute, 2).Start;
            Ende = QuellDokument.GoTo(WdGoToItem.wdGoToPage, WdGoToDirection.wdGoToAbsolute, 3).Start;

         
            pageRange = QuellDokument.Range(Start, Ende);
            pageRange.Copy();
          
            ZielDokument.Content.Paste();

            QuellDokument.Close();

            QuellApplikation.Quit();