Öffentlichen Ordner bei Programmstart anzeigen

Zuletzt geändert am 03. April 2013

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