ich habe hier einmal eine Lösung vorgestellt, wie man einige/manche Systemdaten auslesen kann. Zwischenzeitig habe ich mich näher mit der Thematik beschäftigt. Dabei habe ich festgestellt es nicht so einfach ist, die korrekte Office Version beziehungsweise die korrekte Applikationsversion zu erhalten, da zum Beispiel man mit der Standardabfrage via VBA
Code: Alles auswählen
Application.Version
Nun kann ich eine verbesserte Version anbieten, die eine genaueres, eigentlich ein korrektes Ergebnis liefern soll/kann.
Natürlich habe ich in diversen einschlägigen Foren schlau gemacht, daher gilt mein besonderer Dank vor allem für:
- Ken Pulse bei excelguru.ca
- Jon Peltier bei stackoverflow.com
Wie funktioniert diese Lösung?
Es gibt zwei Module
- mdlCore_APP: diese enthält die notwendigen "globalen" Konstanten
- mdlCore_SYSTEM: in dieser können über einzelne Funktionen folgende Systeminformationen ausgelesen werden:
- "OS", Betriessystem macOS oder Windows
- "Windows Version"
- "OS Bitness", welche Bitversion installiert ist
- "OS Buildnumber", SYSTEM_GetBuildnumber
- "Office Version", funktioniert auch bei Office 365
Die einzelnen Systeminformationen werden via Dictionary zur Verfügung gestellt.
Abfragen/Aufrufen/Anzeigen kann man sich die Systeminformation mit:
SYSTEM_GetAllInformations -> dann wird eine MsgBox angezeigt
möchte man eine spezifische Information auslesen/erhalten, dann mit:
SYSTEM_GetInformation("OS-Bitness")
Anwendungsfälle und Einsatzgebiete gibt es denke ich mir viele. Freue mich auf Rückmeldungen und Lösungen, wie und wo ihr diese VBAstelei eingesetzt habt.
Um nicht hier euch mit all zu viel Code zuzuschütten, poste ich im folgenden Codefeld nur den Aufruf.
Code: Alles auswählen
Function SYSTEM_GetAllInformations()
Dim varKey As Variant
Dim strInformastions As String
strInformastions = ""
If m_dicSystemInformations Is Nothing Then Call SYSTEM_Informations
For Each varKey In m_dicSystemInformations.Keys
strInformastions = strInformastions & varKey & ": " & m_dicSystemInformations(varKey) & vbCrLf
Next varKey
MsgBox strInformastions
End Function
LG & schöne Zeit, thowe