Dateien und Vorlagen öffnen

Zuletzt geändert am 31. Oktober 2013

Mit dem vollständigen Wegfall der Symbolleisten ab Outlook® 2010 lassen sich keine Verknüpfungen mehr zu Dateien herstellen. Um dennoch z. B. Vorlagen in Outlook® über eine Schaltfläche öffnen zu können, benötigt man etwas Programmcode. Dieser lässt sich über die Anpassenfunktionen der Menübänder in Outlook® integrieren.

Zur Verwendung dieses Beispiels beachten Sie bitte die wichtigen Hinweise, sowie den Workshop VBA in Outlook® verwenden. Den Code bitte in ein neues Modul kopieren (Einfügen -> Modul im VBA-Editor).

Ab Outlook® 2000

Um eine beliebige Datei zu öffnen, benötigt man einen kleinen API-Aufruf:

Declare Function ShellExecute Lib "shell32.dll" _
  Alias "ShellExecuteA" ( _
  ByVal hwnd As Long, _
  ByVal lpOperation As String, _
  ByVal lpFile As String, _
  ByVal lpParameters As String, _
  ByVal lpDirectory As String, _
  ByVal nShowCmd As Long) As Long
 
Public Sub OpenFile()
 
    '=====================================================================
    ' Öffnet eine zuvor festgelegte, beliebige Datei
    ' (c) Peter Marchert - http://www.outlook-stuff.com
    ' 2013-10-30 Version 1.0.0
    '=====================================================================
    
    Dim strFile As String
 
    On Error Resume Next
 
    '---------------------------------------------------------------------
    ' Pfad zur Datei festlegen
    '---------------------------------------------------------------------
    strFile = "C:\Windows\notepad.exe"
 
    '---------------------------------------------------------------------
    ' Datei versuchen zu öffnen
    '---------------------------------------------------------------------
    Select Case ShellExecute(0, "open", Chr(34) & strFile & Chr(34), _
        vbNullString, vbNullString, 1)
        Case 0 To 32
        MsgBox "Die Datei """ & strFile & """ konnte nicht geöffnet werden." _
            , vbCritical + vbOKOnly, "Datei öffnen"
        Exit Sub
    End Select
 
End Sub

Möchten Sie dagegen nur eine Vorlage öffnen, so genügen die von Outlook® zur Verfügung gestellten Funktionen:

Public Sub OpenTemplate()
 
    '=====================================================================
    ' Öffnet eine zuvor festgelegte Vorlage
    ' (c) Peter Marchert - http://www.outlook-stuff.com
    ' 2013-10-30 Version 1.0.0
    '=====================================================================
    
    Dim strTemplate As String
    Dim objTemplate As Object
 
    On Error Resume Next
 
    '---------------------------------------------------------------------
    ' Pfad zur Vorlage festlegen
    '---------------------------------------------------------------------
    strTemplate = "C:\Users\User\Documents\ESM-Tools\ContactMaker " & _
        "Pro\Sind Ihre Daten noch aktuell.oft"
 
    '---------------------------------------------------------------------
    ' Vorlage versuchen zu laden
    '---------------------------------------------------------------------
    Set objTemplate = Outlook.CreateItemFromTemplate(strTemplate)
 
    '---------------------------------------------------------------------
    ' Fehler?
    '---------------------------------------------------------------------
    If objTemplate Is Nothing Then
        MsgBox "Die Vorlage """ & strTemplate & """ konnte nicht geöffnet werden." _
            , vbCritical + vbOKOnly, "Vorlage öffnen"
        Exit Sub
    End If
 
    '---------------------------------------------------------------------
    ' Vorlage anzeigen
    '---------------------------------------------------------------------
    objTemplate.Display
 
End Sub

Wie Sie ein Makro über die Menübänder aufrufen, zeigt Ihnen dieser Workshop: