Hallo zusammen,
war ein paar Wochen weg, daher hab ich erst jetzt den Thread gelesen.
Ich habe das Skript ein wenig erweitert, um eine detailierte Liste der installierten
Office-Komponenten mit ausführlichen Versionsnummern auszugeben.
ChkOffice.vbs
Dim WSHShell, objFSO, textout
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WSHShell = CreateObject("WScript.Shell")
Dim part(4,1)
part(0,0) = "Word" : part(1,1) = "WINWORD.EXE"
part(1,0) = "Excel" : part(2,1) = "EXCEL.EXE"
part(2,0) = "Outlook" : part(4,1) = "OUTLOOK.EXE"
part(3,0) = "PowerPoint" : part(0,1) = "POWERPNT.EXE"
part(4,0) = "Access" : part(3,1) = "MSACCESS.EXE"
textout = "Installierte Office-Anwendungen:" & vbCRLF & vbCRLF
Call ChkOffice("11.0","2003")
Call ChkOffice("10.0","XP")
Call ChkOffice("9.0", "2000")
Call ChkOffice("8.0", "97")
MsgBox textout,64,"CheckOffice.vbs"
Function ChkOffice(ver, verfull)
Dim pfad, res, helptext
On Error Resume Next
pfad = "HKLM\Software\Microsoft\Office\" & ver & "\Common\InstallRoot\Path"
res = WSHShell.RegRead(pfad)
If res <> "" Then
For i = 0 to 4
If objFSO.FileExists(res&part(i,1)) Then
helptext = part(i,0) & Space(1) & verfull & " (" & objFSO.GetFileVersion(res&part(i,1))&")"
textout = textout & helptext & vbCRLF
End If
Next
textout = textout & vbCRLF
End If
End Function
Die Liste der Office-Anwendungen unter part(x,y) kann natürlich erweitert werden,
dabei muss der Wert bei Dim part(4,1) auf part(5,1) erhöht werden,
ebenso die 4 in der For Schleife...
Das Starten der Anwendungen aus dem Skript heraus übersteigt meine Fähigkeiten,
da dynamisch Buttons für jede Anwendung erzeugt werden müssten.
Da bin ich überfragt... :rolleyes:
Würde mich über ein kurzes Feedback freuen, da ich es auch wieder nur unter
WinXP und Office 2003 testen konnte. :)
Viele Grüße
learner