Ich möchte eine Worddatei öffnen etwas hineinschreiben und anzeigen.
Danach soll die Datei entweder weiter geöffnet bleiben um sie später mit anderen Daten zu beschreiben und anzuzeigen
oder sie wird geschlossen und das Programm beendet.
Das geht alles solange gut, bis der Anwender eingreift und das Word selbst schließt.
Dann bekomme ich Probleme wenn ich die Wordapplication1 vom Programm schließen will
und auch, wenn ich sie danach nochmal öffnen will.
Hier mal etwas Code für das öffnen und schließen:
Delphi-Quellcode:
//******************************************************************************
//***************** Word öffnen ************************************************
//******************************************************************************
Procedure ConnectToWord;
Begin
With Form1 Do
Begin
if not Assigned(Wordapplication1) then
WordApplication1.Create(nil);
Try
WordApplication1.Connect;
Except
Showmessage('Word konnte nicht gestartet werden');
exit;
End;
WordApplication1.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
End;
End;
//******************************************************************************
//***************** Word Beenden ***********************************************
//******************************************************************************
Procedure WordBeenden;
Begin
With Form1 Do
Begin
WordApplication1.Visible := True;
WordApplication1.Activate;
showmessage('Weiter mit OK');
Try
Feld := False;
If Assigned(WordApplication1) Then
Begin
WordApplication1.Quit(Feld);
WordApplication1.Disconnect;
WordApplication1.Free;
End;
Except
End;
End;
End;
Die IF Assigned() Abfrage scheint nicht zu funktionieren wenn Word schon geschlossen ist.
wie macht man das richtig ?