![]() |
Worddocument.onclose - nur einmal?
Hallo,
ich habe eine Anwendung, aus der heraus ich Word starte. Ich muß beim Schließen des Dokuments erfahren, welchen Namen das Doc hat. Also habe ich dem onclose-Ereignis der Dokumentvariable (TWordDocument) eine Prozedur zugewiesen, die mir den Namen ausliest. Das funktioniert auch super. Aaaaber: In Word erscheint ja dann die Meldung, ob man speichern möchte oder nicht oder Abbrechen. In letzterem Fall kann ich ja normal am Doc weiterarbeiten. Wenn ich aber dann (wieder) schließen will, bekomme ich kein onclose-Ereignis mehr an meine Anwendung. Wieso? :( Danke für Eure Hilfe, der Simon |
Re: Worddocument.onclose - nur einmal?
Zitat:
habs grade probiert, ich bekomme noch das onclose ereignis nach abbrechen. rufst du bei onclose oder irgendwo anders Worddokument.disconnect auf? Ansonsten Poste mal n bissel Code wenns geht. Mfg Frank |
Re: Worddocument.onclose - nur einmal?
Hi Frank, ich mache das momentan so:
Delphi-Quellcode:
Auf dem Formular liegt die WA1 (TWordapplication).
//Word starten
WA1.Connect; WA1.Documents.Add(voleausgewaehlteVorlage,voleFALSE,EmptyParam, EmptyParam); if high(arrdokumente) = -1 then setlength(arrdokumente,1); setlength(arrdokumente,high(arrdokumente)+1); arrDokumente[high(arrdokumente)].Dokument := TWordDocument.Create(Application); arrDokumente[high(arrdokumente)].Dokument.ConnectTo(WA1.ActiveDocument); arrDokumente[high(arrdokumente)].Dokument.OnClose := [B]pWorddocumentschliessen[/B]; Die pWorddocumentschliessen sieht so aus:
Delphi-Quellcode:
(O.K., nicht aufregend, aber zum Testen lasse ich mir den Dateinamen anzeigen.)
procedure TfMain.pWorddocumentSchliessen(sender: TObject);
begin ShowMessage(WA1.ActiveDocument.Name); end; Wie gesagt, wenn das Dok erzeugt worden ist, bekommen ich beim ersten mal Klick auf Schließen die Message. Wenn ich dann auf abbrechen gehe, und wieder schließen will, nicht mehr. :( Ich hoffe, Du kannst mir helfen, vielen Dank, Simon |
Re: Worddocument.onclose - nur einmal? --Nachtrag
Hi Frank, noch ein Nachtrag:
Ich habe jetzt mal versuchshalber nicht das Worddocument.onclose verwendet, sondern das Wordapplication.OnDocumentBeforeClose. Jetzt bekomme ich zwar bei mehrmaligem Schließen-wollen-und-dann-doch-abbrechen-drücken eine Message - jedoch auch bei jedem anderen Dokument, welches gar nicht über meine Anwendung erstellt wurde. Kannst Du Dir darauf einen Reim machen? Vielen Dank für die Hilfe, Simon |
Re: Worddocument.onclose - nur einmal? --Nachtrag
Zitat:
Wordapplication.OnDocumentBeforeClose gibts nicht mit Word 97 und der Server97 Kompo. Das gibts erst ab Word2000 was du dann verwenden wirst. Bei mir gehts, weil ich es unter Word97 probiert habe. hier auf Arbeit habe ich Word2000 und da gehts wirklich nicht (1x abbrechen ist ok, beim 2. mal gehts nicht mehr). Scheint ein word2000 - Problem zu sein. wenn du einen Rechner zur Verfügung hast, der noch Word97 hat, probiers mal aus, dann gehts. Ich habe erst gedacht, daß bei Schließen auch automatisch die Verbindung gekappt wird, is aber nicht. Du kannst mit dem Worddokument noch arbeiten, also muß die Verbindung noch bestehen. Lösungsidee hab ich aber keine :oops: vielleicht guggst du mal in VB-Foren oder suchst mal im Google. Mfg Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz