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"
Dim
strPfadBat
As
String
Dim
strPfadAusgabe
As
String
Dim
strText
As
String
Dim
dblCommand
As
Double
Dim
objFSO
As
Object
Sub
CMD_Eingabe()
With
ThisWorkbook
strPfadBat = .Path & PFAD_BAT
strPfadAusgabe = .Path & AUSGABE_DATEI
End
With
If
DateiVorhanden(strPfadAusgabe) =
True
Then
Kill strPfadAusgabe
If
DateiVorhanden(strPfadBat) =
True
Then
Kill strPfadBat
Open strPfadBat
For
Output
As
#1
Print #1, PFAD_OFFICE
Print #1, BEFEHL_BAT &
" > "
& strPfadAusgabe
Close
dblCommand = Shell(strPfadBat, vbNormalNoFocus)
Application.Wait Now + TimeSerial(0, 0, 3)
MsgBox FERTIG, vbInformation, FERTIG_TITEL
Call
Auslesen
End
Sub
Sub
Auslesen()
With
ThisWorkbook
strPfadBat = .Path & PFAD_BAT
strPfadAusgabe = .Path & AUSGABE_DATEI
End
With
If
DateiVorhanden(strPfadAusgabe) =
True
Then
Open strPfadAusgabe
For
Input
As
#1
Do
While
Not
EOF(1)
Line Input #1, strText
If
InStr(strText, LIZENZ) > 0
Then
Debug.Print strText
Loop
Close #1
Kill strPfadAusgabe
Else
MsgBox DATEI, vbCritical, DATEI_TITEL
End
If
If
DateiVorhanden(strPfadBat) =
True
Then
Kill strPfadBat
End
Sub
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