Systeminformationen auslesen, erweitert/verbessert

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
thowe
Beiträge: 230
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 108 Mal
Danksagung erhalten: 79 Mal
Kontaktdaten:

Systeminformationen auslesen, erweitert/verbessert

#1

Beitrag von thowe »

Hallo & Moin!

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
ab Office 2016 - auch wenn man Office 365 oder Office 2019 hat - immer 2016 als Ergebnis erhält.

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
Ihr könnt auch gerne die mitgelieferten einzelnen einzelnen .bas Dateien herunterladen.
mdlCore_SYSTEM.bas
mdlCore_APP.bas

LG & schöne Zeit, thowe
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Folgende Benutzer bedankten sich beim Autor thowe für den Beitrag:
d'r Bastler
Benutzeravatar
thowe
Beiträge: 230
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 108 Mal
Danksagung erhalten: 79 Mal
Kontaktdaten:

WICHTIG! zu Systeminformationen auslesen, erweitert/verbessert

#2

Beitrag von thowe »

Hallo,
da ist ein Bug der zu einem Runtime Error führt in mdlCore_SYSTEM enthalten.
habe ich nun korrigiert.
Bitte nur diese .bas Datei verwenden!
mdlCore_SYSTEM.bas
*Sorry*
lg thowe
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste