Problem:
Man hat ein benutzerdefiniertes Outlook-Formular erstellt und darin Skripte bzw. Code hinterlegt.
Wenn man das Formular testweise ausführt, klappt alles ohne Probleme.
Wenn man das Formular veröffentlicht und dann versucht das Skript per Button o.ä. auszuführen, passiert nichts!
Das Problem tritt nur bei Clients mit OUTLOOK 2010 auf.
Lösung:
Seit Outlook 2010 wird per default das Ausführen von Code in öffentlichen Ordnern verhindert.
Dies kann umgangen werden, in dem man folgende Änderung in der Registry durchführt:
Wenn man ein VBS Skript schreibt und Meldungen ausgeben möchte stehen einem mehrere Wege zur Verfügung die gängigsten sind eine MsgBox und WScript.Echo das Echo wird meistens verwendet wenn das Skript über cscript.exe gestartet wird , startet man es dann mit wscript.exe bekommt man für jede Zeile die ein Echo enthällt eine gesonderte Messagebox (MsgBox)
Lösung :
Ich hab hier eine kleine Funktion geschrieben die ermittelt über welchen Interpreter wscript / cscript das Skript gestartet wurde und die Meldung anpasst.
Function ShowMessage(MSG,Titel)
Dim StrScriptInt : StrScriptInt = LCase(WScript.FullName)
' --- Check Interpreter
If Right(StrScriptInt,11) = "wscript.exe" Then
MsgBox MSG,vbOKOnly + vbInformation,Titel
Else
WScript.Echo Titel & "--------------" & vbCrLf & MSG & vbCrLf
End If
End Function
Der Name des Druckservers hat sich verändert und soll jetzt automatisch beim anmelden der user in den verbundenen Drucker korrigiert werden.
Getestet mit Win 2000 / XP / 7
Lösung :
Ich hab mich ran gesetzt und eine neue Version ohne speichern auf File System Ebene geschrieben.
Hier die möglichen Parameter :
-o:[Servername] or /o:[Servername] = old print server
-n:[Servername] or /n:[Servername] = new print server
-l:[Logfile] or /l:[Logfile] = create an Logfile (path:filename)
-? or /? = shows this help
replace [Servername] with the hostname / ip-adress without [ and ]
Funktion zur Ermittlung der ungelesenen Nachrichten im Posteingang von Outlook.
Outlook muß installiert sein!
Läuft auch unter Outlook 2010.
Function unread_mails()
'Funktion zum überprüfen auf neue Mails im Ordner "Posteingang"
'In Variable "u" wird die Anzahl der ungelesenen Nachrichten übergeben
Dim unread_items, mapi, inbox, mail
Set outObj = CreateObject("Outlook.Application")
u = 0 'Zähler ungelesene Nachrichten zurücksetzen
Set mapi = outObj.GetNamespace("MAPI")
Set inbox = mapi.GetDefaultFolder(6) 'Zeiger auf Posteingang setzten - Posteingang = Folder(6)
For Each mail In inbox.Items 'überprüfen auf ungelesene Mails
If mail.unread Then unread_items = unread_items + 1
Next
'Ausgabe als Msgbox
MsgBox "Sie haben " & unread_items & " ungelesene Mails in Ihrem Posteingang", vbOKOnly, "Posteingang überprüft"
End Function
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”