Prüfen, ob Word gestartet ist

Nutzen Sie Word zum Exportieren von Daten, Ausgeben von Serienbriefen oder anderen Aufgaben, ist es oftmals erforderlich, Word aus Access heraus zu starten. Das ist im Prinzip recht einfach. Schwierig wird es erst, wenn Sie eine bestimmte Version von Word benötigen.

Mit der GetObject-Funktion können Sie ein geladenes Objekt zurückgeben oder auch ein Objekt aus einer Datei laden. Das ist abhängig da- von, ob Sie als ersten Parameter einen Dateinamen oder als zweiten einen Klassennamen übergeben.

Das können Sie sich zunutze machen, wenn Sie prüfen möchten, ob eine Anwendung, hier Word, gestartet ist. Sie versuchen in diesem Fall einfach ein Word.Application-Objekt zurückzugeben. Gelingt dies, hat die entsprechende Objektvariable anschließend einen Wert ungleich nothing. Sie müssen also nur noch prüfen, ob die Variable gleich nothing ist, dann ist Word nicht gestartet.

Wichtig ist allerdings, dass beim Aufruf von GetObject ein Laufzeitfehler auftritt, wenn Word nicht gestartet ist. Sie müssen daher unbedingt Laufzeitfehler behandeln oder, wie in Listing 1, übergehen. Folgende Funktion gibt true zurück, wenn Word gestartet ist, beziehungsweise false, wenn es nicht gestartet ist.

Function boolWordgestartet() As Boolean
Dim objWord As Object
On Error Resume Next
Set objWord = GetObject(, "Word.Application")
If objWord Is Nothing Then
'Word ist nicht gestartet
boolWordgestartet = False
Else
boolWordgestartet = True
End If
End Function