Installierte Office-Versionen bestimmen

14/06/2009 - 09:14 von Peter Schirmer | Report spam
Hallo zusammen,

ich möchte gerne feststellen, welche Office-Version auf dem Rechner
installiert ist. Dazu habe ich gegoogelt und gelesen, dass man in der
Registry suchen kann.

Ich finde die Idee durchaus gut, bin mir aber nicht sicher, ob das auch
immer zur richtigen Lösung führt. Gibt es eine andere Möglichkeit oder
ist das bisherige schon das "beste"?

Danke und Gruß
Peter
 

Lesen sie die antworten

#1 Martin H.
14/06/2009 - 09:55 | Warnen spam
Hallo Peter,

ich würde es auch über die Registry machen. Allerdings musst Du Dir dann
angucken, ob es wirklich Office-Anwendungen sind und nicht nur die Viewer.

Der notwendige Schlüssel ist: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office

Du findest dort jeweils einen Unterschlüssel pro Office-Version
(11.0=Office 2003, 12.0=Office 2007).

Falls Du nicht die Registry durcharbeiten willst, kannst Du auch
folgendes machen:

Dim OfficeApplications() As String = {"Word.Application",
"Excel.Application", "Outlook.Application", "Access.Application"}
Dim OfficeObject As Object
Dim Version As String = ""
Dim i As Integer

'Prüfen, ob Word, Excel, Outlook oder Access geöffnet sind.
For i = 0 To UBound(OfficeApplications)
OfficeObject = Nothing
Try
OfficeObject = GetObject(, OfficeApplications(i))
If Not OfficeObject Is Nothing Then
Version = OfficeObject.Version
Exit For
End If
Catch ex As Exception

End Try
Next


'No open Office application found. Try to open an office application.
'Keine geöffneten Office-Anwendungen gefunden. Versuche, eine
'Office-Anwendung zu öffnen.
If Version.Length = 0 Then
For i = 0 To UBound(OfficeApplications)
OfficeObject = Nothing
Try
OfficeObject = _
CreateObject(OfficeApplications(i))
If Not OfficeObject Is Nothing Then
Version = _
OfficeObject.Application.Version
OfficeObject.Close()
Exit For
End If
Catch ex As Exception

End Try
Next

End If

If Version > 0 Then
MsgBox("Office Version " & Version.ToString, _
MsgBoxStyle.Information, "MS Office erkannt")
Else
MsgBox("Keine installierte MS Office-Version gefunden.", _
MsgBoxStyle.Information, "MS Office-Erkennung")
End If
End Sub



Beste Grüße,

Martin
On 14.06.2009 09:14, Peter Schirmer wrote:
Hallo zusammen,

ich möchte gerne feststellen, welche Office-Version auf dem Rechner
installiert ist. Dazu habe ich gegoogelt und gelesen, dass man in der
Registry suchen kann.

Ich finde die Idee durchaus gut, bin mir aber nicht sicher, ob das auch
immer zur richtigen Lösung führt. Gibt es eine andere Möglichkeit oder
ist das bisherige schon das "beste"?

Danke und Gruß
Peter

Ähnliche fragen