Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Schnubbel am 10.11.11 - 14:39:52

Titel: Abfrage per Schleife ob Excel geschlossen wurde
Beitrag von: Schnubbel am 10.11.11 - 14:39:52
Hallo liebe Gemeinde,

ich versuche per LS abzufangen, ob das Programm Excel geschlossen wurde. Excel wird zuerst über LS gestartet, die Datei wird auf der Festplatte gespeichert, der User kann das Dokument verändern, speichert es und schließt Excel. Und hier hängt sich Notes dann auf ( es kommt wohl nicht aus meiner Schleife raus). Solange Excel offen ist, ist Notes eingefroren (was gewollt ist).

Ich habe das gleiche mit Word gemacht und hier klappt es wunderbar. Daher bin ich etwas verwirrt. Im Grunde habe ich nur das Wort "Word" durch "Excel" ersetzt.

Der Vollständigkeithalber:
Nachdem Excel geschlossen ist, holt sich Notes das Excel-Dokument und packt es in eine Datenbank.

Code
Dim xlAppTest As Variant
	While 1<> 2
		Sleep 1
		On Error Goto RunDokumentAdd
		Set xlAppTest = GetObject(, "excel.application")
	Wend

Ich bin wie immer für jeden Tipp, Hinweis und Schubs in die richtige Richtung dankbar. (und hoffentlich braucht keiner eine Kristallkugel;))

LG
Thorsten
Titel: Re: Abfrage per Schleife ob Excel geschlossen wurde
Beitrag von: m3 am 10.11.11 - 15:27:33
Aus der Designer-Hilfe:
Zitat
If the application specified by appName is not already running, GetObject starts it before retrieving the OLE Automation object. References to the object remain valid only while the application is running. If the application terminates while you are using the object reference, LotusScript generates a run-time error.

Klar kommt es aus der Schleife nicht raus, wenn es jedes Mal Excel neu startet.
Titel: Re: Abfrage per Schleife ob Excel geschlossen wurde
Beitrag von: Schnubbel am 10.11.11 - 15:39:53
Das macht vor dem Hintergrund Sinn. Ich frage mich aber dann, warum das ganze mit Word tadelos funktioniert und mit Excel nicht. Das müsste doch dann auch Word erneut starten, was es aber nicht tut.

Da ich die Dateinamen vorgebe, frage ich ihn der Schleife jetzt einfach ab, ob der Dateiname des Objekts noch so ist wie ich ihn haben wollte, damit gehts auch. Danke für den Hinweis @ martin
Titel: Re: Abfrage per Schleife ob Excel geschlossen wurde
Beitrag von: TRO am 10.11.11 - 16:42:10
Aus der Designer-Hilfe:
Zitat
If the application specified by appName is not already running, GetObject starts it before retrieving the OLE Automation object. References to the object remain valid only while the application is running. If the application terminates while you are using the object reference, LotusScript generates a run-time error.

Klar kommt es aus der Schleife nicht raus, wenn es jedes Mal Excel neu startet.

Hallo m3, da musst Du aber aber auch noch die darauffolgende Zeile aus der Designer-Hilfe zitieren:
Zitat
If pathName is the empty string ("") or is missing, GetObject retrieves the currently active object of the specified class. If no object of that class is active, an error occurs.

d.h. wenn kein Excel läuft, wird auch kein Excel gestartet und es wird ein Fehler geworfen, den man abfangen kann.

Thomas
Titel: Re: Abfrage per Schleife ob Excel geschlossen wurde
Beitrag von: m3 am 10.11.11 - 16:59:12
Na geh, musst Du alles verraten?

Ich finde es ja "gewagt", sich quasi auf eine implizite Fehler-Exception zu verlassen, anstatt einfach xlAppTest zu checken.