Einzelnen Beitrag anzeigen

rdeutsch

Registriert seit: 24. Mär 2006
77 Beiträge
 
Delphi 12 Athens
 
#1

Word-OLE: Zwei Dokumente zusammenfügen - Schriftart wird verändert

  Alt 2. Feb 2023, 15:44
Guten Tag

Mit diesem Code werden zwei Dokumente via Word-OLE zusammengefügt.
Delphi-Quellcode:

  WordApplication: TWordApplication;
  WordDocument: TWordDocument;

var Mischfile: olevariant;
begin
  // Dokument, welches angehängt werden soll
  if rgTypDokument.ItemIndex = 0 then
    Mischfile := docPfad+'Anhang_Text.doc'
  else
    Mischfile := docPfad+'Anhang_Tabelle.doc';

  WordApplication.Connect;
  WordApplication.Documents.Add(docPfad+'Hauptdokument.doc', EmptyParam, EmptyParam, EmptyParam);
  WordDocument.ConnectTo(WordApplication.ActiveDocument);
  WordApplication.visible := true;
  WordApplication.Selection.EndKey(wdStory,EmptyParam);
  WordApplication.Selection.InsertFile(Mischfile, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
Nach dem Zusammenfügen ist im Inhalt vom 2. Dokument (Anhang) aber leider eine andere Schriftart vorhanden. D.h. ab der 2.Zeile ist nicht mehr die Schriftart "Arial" und Grösse 10, sondern "Times New Roman" und Grösse 12.
Das Gleiche passiert auch, wenn Anhang mit einer Tabelle eingefügt wird.

pic.jpg
Der blaue Strich markiert das Hauptdokument (Hauptdokument.doc), der orange Strich den Anhang (Anhang_Text.doc).

Wie kann man verhindern, dass Word beim InsertFile den Inhalt bei der Schrift verändert?
Oder gibt es eine bessere Art zwei Dokumente in Word via OLE zusammenzufügen?

Im Anhang ist ein kleines Demoprogramm inkl. Code, welches das Problem aufzeigt.

Danke für jede Hilfe und Gruss,
Robert
Angehängte Dateien
Dateityp: zip WordOLE_Dok_merge.zip (198,8 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat