Word schliessen

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Word schliessen

Beitrag von Koverhage »

wie kann ich es verhindern, das der Anwender das X klickt um Word zu beenden, bevor das Dokument aufgebaut ist.
Das ergibt nämlich so hässliche Fehlermeldungen Automations Error.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Du kannst dem Quit-Ereignis einfach einen Codeblock zuordnen:

oWord:Quit := {||if(diesunddas,dasunddas,irgendwas)}
Herzlich,
Tom
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Rolf Ramacher »

Hi Klaus,

wie machst du dass denn mit dem Word-Dokument ? Nur zum ausdrucken ? - Dies habe ich bei mir auch - so gelöst

Code: Alles auswählen

    oWord := CreateObject("Word.Application") 

   IF Empty( oWord ) 
     MsgBox( "Microsoft Word ist nicht installiert" ) 
     RETURN Nil
   ENDIF 

   oWord:visible   := .f.                               // Word unsichtbar! 
   cActivePrinter  := oWord:Activeprinter     // aktuellen Drucker feststellen 
   oWord:Activeprinter:= cDrucker               // Neuen Drucker setzen 
   oWord:documents:Open(cDoc)                  
   oDoc       := oWord:ActiveDocument 
   oDoc:PrintOut(.f.)                                  // .T.= Druck im Hintergrund 
   oWord:Activeprinter:= cActivePrinter       // alten Drucker setzen 
   oDoc:close() 
   oWord:Quit() 
   oWord:destroy() 
   oWord := NIL 
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Rolf,

nicht nur drucken, vorher Textmarken ersetzen.

Sobald der User zum Beispiel das X zum Schließen klicht und Word noch nicht fertig ist kommt dieser Automation Error. Noch extremer ist es bei Excel.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Tom,

da ist das Programm schon abgeschmiert, siehe auch meine Antwort an Rolf.

Ich sehe als einzige Möglichkeit die Tastatur zu sperren bis Word fertig ist.
Das sollte eigentlich meine Frage sein, wie erkenne ich das Word fertig ist, d.h. alle Textmarken ersetzt und das Dokument vollständig geladen ist.
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Re:

Beitrag von stevie »

Koverhage hat geschrieben:Rolf,

nicht nur drucken, vorher Textmarken ersetzen.

Sobald der User zum Beispiel das X zum Schließen klicht und Word noch nicht fertig ist kommt dieser Automation Error. Noch extremer ist es bei Excel.
Lass es doch visible:=.F., dann sieht der User nicht, das Word arbeitet.
Viele Grüße
Stevie
Antworten