Prüfen, ob Word gestartet ist

Versuchen, ein bestimmtes Word-Objekt zurückzugeben

Besser wäre daher rein theoretisch, Sie verwenden die zweite Methode. Allerdings hat auch sie einen Haken. Sie funktioniert nämlich nicht. Zwar können Sie an den Klassennamen Word.Application auch eine Version anhängen, zum Beispiel Word.Application.8 für Word 97. Leider liefert VBA dennoch immer irgendein Objekt zurück, in der Regel das Word-Objekt mit der höchsten Versionsnummer. Hängen Sie also, wie in Listing 3 zu sehen, die als Parameter übermittelte Version an den Klassennamen an, gibt die Funktion über Übergabe des Wertes 8 auch dann true zurück, wenn Word 2003 gestartet ist.

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

Da Sie also leider mit Hilfe der GetObject- Funktion nicht auf eine bestimmte Instanz von Word zurückgreifen können, spielt es aber auch keine Rolle, dass ältere Word-Versionen nicht gefunden werden. Sie können diese Instanzen ohnehin nicht zurückgeben und sie daher auch nicht per Code steuern. Möchten Sie also zum Beipiel Word 97 starten, wenn auf dem System schon Word 2003 gestartet ist, können Sie das nur, indem Sie Word 97 mit der CreateObject- Funktion neu starten. Dazu können Sie die Funktion in Listing 4 verwenden, die die erzeugte Word-Instanz zurückgibt. Das funktioniert natürlich nur, wenn die entsprechende Version auf dem Rechner installiert ist.

Function WordStarten(bytVersion) As Object
On Error Resume Next
Set WordStarten = CreateObject("Word.Application." & bytVersion)
End Function

Zusammenfassung

Mit Hilfe der Funktion WordVersiongestartet1 können Sie eine Instanz von Word ermitteln und deren Version zurückgeben. Entspricht diese Version nicht der gewünschten, können Sie sie mit Hilfe der Funktion WordStarten starten und zurückgeben. Mehr Komfort ist leider nicht möglich, sodass es dennoch vorkommen kann, dass Sie eine Version von Word starten, die in Wirklichkeit schon gestartet ist.