Thema Datum  Von Nutzer Rating
Antwort
28.12.2021 17:03:57 Rico S.
NotSolved
28.12.2021 20:24:03 Gast27864
NotSolved
28.12.2021 20:30:21 Rico S.
NotSolved
28.12.2021 20:45:36 Gast27864
NotSolved
28.12.2021 21:21:41 Rico S.
NotSolved
29.12.2021 15:44:17 Gast27864
NotSolved
29.12.2021 15:46:57 Rico S.
NotSolved
31.12.2021 09:34:19 Gast45776
NotSolved
02.01.2022 00:37:31 Rico S.
NotSolved
02.01.2022 10:08:52 Gast64724
NotSolved
02.01.2022 17:20:54 Rico S.
NotSolved
03.01.2022 09:43:13 Gast75814
NotSolved
03.01.2022 09:54:08 Rico S.
NotSolved
03.01.2022 10:21:52 Gast72372
NotSolved
03.01.2022 17:12:06 Gast27864
NotSolved
03.01.2022 12:19:48 Mase
Solved
16.01.2022 12:21:26 Rico S.
Solved
16.01.2022 19:17:16 Mase
NotSolved
Rot Office Version mit VBA ermitteln
16.01.2022 20:26:14 Rico S.
NotSolved
17.01.2022 08:09:19 Mase
Solved
17.01.2022 08:27:38 Rico S.
NotSolved
19.01.2022 21:10:29 Rico S.
NotSolved

Ansicht des Beitrags:
Von:
Rico S.
Datum:
16.01.2022 20:26:14
Views:
535
Rating: Antwort:
  Ja
Thema:
Office Version mit VBA ermitteln

Das ist mein Code:

' Konstanten
Const PFAD_OFFICE                   As String = "cd C:\Program Files (x86)\Microsoft Office\Office15"
Const PFAD_BAT                      As String = "\Office.bat"
Const BEFEHL_BAT                    As String = "cscript ospp.vbs /dstatus"
Const AUSGABE_DATEI                 As String = "\Ausgabe.txt"
Const FERTIG                        As String = "Ausgabedatei erstellt."
Const FERTIG_TITEL                  As String = "-- Beendet ---"
Const DATEI                         As String = "Ausgabedatei nicht vorhanden!"
Const DATEI_TITEL                   As String = "--- Fehler ---"
Const LIZENZ                        As String = "LICENSE NAME"

' Variablen
Dim strPfadBat                      As String
Dim strPfadAusgabe                  As String
Dim strText                         As String
Dim dblCommand                      As Double
Dim objFSO                          As Object

' Prozedur zum Eingabe einer cmd-Ausgabe
Sub CMD_Eingabe()

' Pfade zusammenstellen
With ThisWorkbook
    strPfadBat = .Path & PFAD_BAT
    strPfadAusgabe = .Path & AUSGABE_DATEI
End With

' Ausgabedatei löschen falls vorhanden
If DateiVorhanden(strPfadAusgabe) = True Then Kill strPfadAusgabe

' bat-Datei erstellen
If DateiVorhanden(strPfadBat) = True Then Kill strPfadBat
Open strPfadBat For Output As #1
Print #1, PFAD_OFFICE
Print #1, BEFEHL_BAT & " > " & strPfadAusgabe
Close

' bat-Datei ausführen
dblCommand = Shell(strPfadBat, vbNormalNoFocus)

' Fertigstellung nach Pause
Application.Wait Now + TimeSerial(0, 0, 3)
MsgBox FERTIG, vbInformation, FERTIG_TITEL

' Version auslesen
Call Auslesen

End Sub

' Prozedur zum Auslesen der Ausgabe
Sub Auslesen()

' Pfade zusammenstellen
With ThisWorkbook
    strPfadBat = .Path & PFAD_BAT
    strPfadAusgabe = .Path & AUSGABE_DATEI
End With

' Datei öffnen wenn vorhanden
If DateiVorhanden(strPfadAusgabe) = True Then

    ' Datei öffnen
    Open strPfadAusgabe For Input As #1
    
    ' Lizenz auslesen
    Do While Not EOF(1)
        Line Input #1, strText
        If InStr(strText, LIZENZ) > 0 Then Debug.Print strText
    Loop
    
    ' Datei schließen
    Close #1
    
    ' Datei löschen
    Kill strPfadAusgabe
    
Else

    MsgBox DATEI, vbCritical, DATEI_TITEL
    
End If

' bat-Datei löschen
If DateiVorhanden(strPfadBat) = True Then Kill strPfadBat

End Sub

' Funktion zum Prüfen ob eine Datei vorhanden ist
Public Function DateiVorhanden(strDatei As String)
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strDatei) = True Then
    DateiVorhanden = True
Else
    DateiVorhanden = False
End If
Set objFSO = Nothing
End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
28.12.2021 17:03:57 Rico S.
NotSolved
28.12.2021 20:24:03 Gast27864
NotSolved
28.12.2021 20:30:21 Rico S.
NotSolved
28.12.2021 20:45:36 Gast27864
NotSolved
28.12.2021 21:21:41 Rico S.
NotSolved
29.12.2021 15:44:17 Gast27864
NotSolved
29.12.2021 15:46:57 Rico S.
NotSolved
31.12.2021 09:34:19 Gast45776
NotSolved
02.01.2022 00:37:31 Rico S.
NotSolved
02.01.2022 10:08:52 Gast64724
NotSolved
02.01.2022 17:20:54 Rico S.
NotSolved
03.01.2022 09:43:13 Gast75814
NotSolved
03.01.2022 09:54:08 Rico S.
NotSolved
03.01.2022 10:21:52 Gast72372
NotSolved
03.01.2022 17:12:06 Gast27864
NotSolved
03.01.2022 12:19:48 Mase
Solved
16.01.2022 12:21:26 Rico S.
Solved
16.01.2022 19:17:16 Mase
NotSolved
Rot Office Version mit VBA ermitteln
16.01.2022 20:26:14 Rico S.
NotSolved
17.01.2022 08:09:19 Mase
Solved
17.01.2022 08:27:38 Rico S.
NotSolved
19.01.2022 21:10:29 Rico S.
NotSolved