Hallo zusammen,
ich habe folgendes Problem: Ich lasse über OLE ein Word-Dokument befüllen (späte Bindung). Wenn der Nutzer während des Schreibvorgangs ein anderes Word-Dokument öffnet, dann wird dieses zum aktiven Dokument und der Text wird dort hinein geschrieben, obwohl ich das ActiveDocument extra einer Variable zuweise. Wie kann ich das verhindern?
Das Problem ist meiner Meinung nach, dass der Text über die Selection rausgeschrieben wird:
Aber wie könnte ich das anders in die Datei schreiben oder die Selection entsprechend wählen?
Ein weiterer Lösungsansatz wäre, während des Schreibvorgangs zu verhindern, dass ein anderes Word-Dokument auf "aktiv" gesetzt wird. Aber das wird wohl noch komplizierter sein...
Viele Grüße,
Hemma
ich habe folgendes Problem: Ich lasse über OLE ein Word-Dokument befüllen (späte Bindung). Wenn der Nutzer während des Schreibvorgangs ein anderes Word-Dokument öffnet, dann wird dieses zum aktiven Dokument und der Text wird dort hinein geschrieben, obwohl ich das ActiveDocument extra einer Variable zuweise. Wie kann ich das verhindern?
Code:
var MyWord,MyActiveDoc: OLEVariant; begin //Anwendung starten try //ein OLE-Objekt erzeugen, dass auf Word verweist MyWord:= CreateOleObject('Word.Application'); //Neues Dokument erstellen MyActiveDoc:= MyWord.Documents.Add(Template:='Normal', NewTemplate:=False, DocumentType:=0); [...]
Code:
MyWord.Selection.TypeText(Text:=s);
Ein weiterer Lösungsansatz wäre, während des Schreibvorgangs zu verhindern, dass ein anderes Word-Dokument auf "aktiv" gesetzt wird. Aber das wird wohl noch komplizierter sein...
Viele Grüße,
Hemma
Comment