VBS Skript für Signaturverteilung zeigt Fehlermeldung wenn kein Word installiert ist
Hallo zusammen,
ich habe ein VBS Skript, welches eine HTML Signatur für unsere Benutzer erstellt und dafür Variablen aus dem Active Directory nutzt. Das Skript wird per GPO beim Systemstart ausgeführt und funktioniert auf den Rechner super, auf denen MS Office installiert ist. Auf den Rechnern, welche kein Office haben, bringt es allerdings eine hässliche Fehlermeldung, die der Benutzer weg klicken muss. Kann ich diese Meldung unterbinden?
Hier der Part, welcher die Fehlermeldung hervorruft:
Vielen Dank im Voraus!
ich habe ein VBS Skript, welches eine HTML Signatur für unsere Benutzer erstellt und dafür Variablen aus dem Active Directory nutzt. Das Skript wird per GPO beim Systemstart ausgeführt und funktioniert auf den Rechner super, auf denen MS Office installiert ist. Auf den Rechnern, welche kein Office haben, bringt es allerdings eine hässliche Fehlermeldung, die der Benutzer weg klicken muss. Kann ich diese Meldung unterbinden?
Hier der Part, welcher die Fehlermeldung hervorruft:
if not DevMode then
'Set the signature as default for new and reply
Set objWord = CreateObject("Word.Application")
Set objSignatureObjects = objWord.EmailOptions.EmailSignature
objSignatureObjects.NewMessageSignature = sUserName
objSignatureObjects.ReplyMessageSignature = sUserName
objWord.Quit
End If
Vielen Dank im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 940649186
Url: https://administrator.de/forum/vbs-skript-fuer-signaturverteilung-zeigt-fehlermeldung-wenn-kein-word-installiert-ist-940649186.html
Ausgedruckt am: 22.12.2024 um 19:12 Uhr
9 Kommentare
Neuester Kommentar
VBscript kennt kein Try-Catch
Oh, hatte VBA gelesen. Mein Fehler... ^^
Auch VBA kann kein Try-Catch.
Moin,
Oder im Vorfeld einfach mit
prüfen, ob eine bestimmte Office vorhanden ist
Alternativ, mit einer VBS-Funktion arbeiten:
Quelle: https://stackoverflow.com/questions/13693490/vbs-or-bat-determine-os-and ...
Gruß
em-pie
Oder im Vorfeld einfach mit
if not exists "c:\Programme\Office\blabliblubb" exit
Alternativ, mit einer VBS-Funktion arbeiten:
' Enforce variable declaration
Option Explicit
' Declare objects
Dim oShell
Dim sOSVersion
Dim lOfficeVersion
Set oShell = CreateObject("WScript.Shell")
On Error Resume Next
' Read the registry for the operating system version
sOSVersion = oShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName")
lOfficeVersion = GetOfficeVersionNumber() ' Read the office version from the function
'MsgBox "sOSVersion = " & sOSVersion & vbCrLf & "lOfficeVersion = " & lOfficeVersion
Function GetOfficeVersionNumber()
GetOfficeVersionNumber = "" ' or you could use "Office not installed"
Dim sTempValue
' Read the Classes Root registry hive (it is a memory-only instance amalgamation of HKCU\Software\Classes and HKLM\Software\Classes registry keys) as it contains a source of information for the currently active Microsoft Office Excel application major version - it's quicker and easier to read the registry than the file version information after a location lookup). The trailing backslash on the line denotes that the @ or default registry key value is being queried.
sTempValue = oShell.RegRead("HKCR\Excel.Application\CurVer\")
' Check the length of the value found and if greater than 2 digits then read the last two digits for the major Office version value
If Len(sTempValue) > 2 Then GetOfficeVersionNumber = Replace(Right(sTempValue, 2), ".", "")
' GetOfficeVersionNumber
End Function
Gruß
em-pie