Öffentlichen Ordner bei Programmstart anzeigen
In Outlook® kann unter Extras -> Optionen -> Weitere -> Erweiterte Optionen ein Ordner ausgewählt werden, der bei Programmstart angezeigt werden soll.
Das funktioniert jedoch nicht mit öffentlichen Ordnern. Mit dem nachfolgenden Beispielcode können Sie das dennoch erreichen.
Eine Alternative ist der Startparameter /select dem Sie auch einen öffentlichen Ordner mitgeben können (z. B. "outlook.exe" /select "outlook:\\Öffentliche Ordner\Alle Öffentlichen Ordner\Teamkalender").
Zur Verwendung dieses Beispiels beachten Sie bitte die wichtigen Hinweise, sowie den Workshop VBA in Outlook® verwenden. Der Code muss in das Modul DieseOutlookSitzung kopiert werden.
Ab Outlook® 2003
Option Explicit Private Sub Application_Startup() '===================================================================== ' Öffnet einen öffentlichen Ordner bei Programmstart ' (c) Peter Marchert - http://www.outlook-stuff.com ' 2008-11-21 Version 1.0.0 ' 2009-07-09 Version 1.0.1 '===================================================================== Dim objFolder As Object ' Ordnerobjekt Dim strFolder As String ' Name des gewünschten Startordners '--------------------------------------------------------------------- ' Unterordner in "Alle Öffentlichen Ordner" bzw. "Öffentliche Ordner" '--------------------------------------------------------------------- strFolder = "Test" '--------------------------------------------------------------------- ' Startordner referenzieren '--------------------------------------------------------------------- Set objFolder = GetFolder(strFolder) '--------------------------------------------------------------------- ' Wenn gefunden, dann auswählen, sonst Fehlermeldung ausgeben '--------------------------------------------------------------------- If Not objFolder Is Nothing Then Call Outlook.ActiveExplorer.SelectFolder(objFolder) Else MsgBox "Der öffentliche Ordner """ & strFolder & _ """ konnte nicht gefunden werden.", vbCritical + vbOKOnly, _ "Ordner bei Programmstart" End If '--------------------------------------------------------------------- ' Referenz auf Ordner löschen '--------------------------------------------------------------------- Set objFolder = Nothing End Sub Private Function GetFolder(ByVal strFolder As String) As Object On Error Resume Next ' Der Code versucht den Ordner unter "Alle Öffentliche Ordner" zu finden Set GetFolder = Outlook.Session.Folders("Öffentliche Ordner") Set GetFolder = GetFolder.Folders("Alle Öffentlichen Ordner") Set GetFolder = GetFolder.Folders(strFolder) End Function