Aktuelle Seite:
/ol/olvbamenueintrag.htm
Letzte Änderung: 24.06.2006

Getestet unter Outlook2000  
Makro/Datei speichern
Print

Auch in Outlook lassen sich wie in Word eigene Menüeinträge erzeugen. Um allerdings einem Menüeintrag ein Makro zuzuweisen, muss dieses vollständig mit dem VBAIDE-Pfad angegeben werden.

Das folgende Beispiel zeigt, wie ein neuer Menüpunkt mit einem Menüeintrag angelegt wird, sofern nicht bereits ein gleichnamiger Eintrag existiert:

Menübeispiel


Dabei wird zuerst geprüft, ob der Menüpunkt bereits existiert, ansonsten wird er neu angelegt. Diesem Menüpunkt wird dann ein neuer Menüeintrag hinzugefügt; dabei wird wieder geprüft, ob dieser bereits existiert. Als Aktion (.OnAction-Eigenschaft des Controls) muss das Makro mit vollständigem Pfad innerhalb der VBAIDE angegeben werden.
In diesem Beispiel das Makro MeinMakro im Modul modTest des Projektes Projekt1:
"Projekt1.modTest.MeinMakro".

Zur eindeutigen Identifizierung wird dazu ein Eintrag in die Tag-Eigenschaft eingetragen, über die der Eintrag gesucht werden kann.

Public Sub CreateMenu()  
Dim cbar As CommandBar 
Dim ctlcbar  As CommandBarControl 
Dim ctlNew  As CommandBarControl 
' Verweis auf die Menüleiste setzen  
Set cbar = ActiveExplorer.CommandBars("Menu Bar")
On Error Resume Next 
Set ctlcbar = cbar.Controls("&Eigenes")
If ctlcbar Is Nothing Then 
  Set ctlcbar = cbar.Controls.Add(Type:=msoControlPopup, ID:=1)
End If 
With ctlcbar
  .Caption = "&Eigenes"
End With 
' Prüfen, ob Eintrag bereits vorhanden ist.  
Set ctlNew = ctlcbar.Controls("Neuer Eintrag")
' oder per FindControl suchen  
On Error GoTo 0
If ctlNew Is Nothing Then 
  Set ctlNew = cbar.FindControl(Type:=msoControlButton, Tag:="Neuer Eintrag", ID:=1, Recursive:=True)
End If 
If ctlNew Is Nothing Then 
  Set ctlNew = ctlcbar.Controls.Add(Type:=msoControlButton, ID:=1)
End If 
With ctlNew
  .BeginGroup = True ' Trennt den Eintrag ab  
  ' mit FaceId kann ein integrietes Symbol verwendet werden  
  .FaceId = 3817
  .Caption = "Neuer Eintrag"
  ' Vollständiger Verweis auf das Makro  
  .OnAction = "Projekt1.modTest.MeinMakro"
  ' optional z.B. zur Identifizierung  
  .Tag = "NeuerEintrag"
  .TooltipText = "Hier steht der Tooltipp"
End With 
' Eintrag anzeigen  
cbar.Visible = True 
End Sub  

 www.chf-online.de/ol/olvbamenueintrag.htm © 2001-11 Christian Freßdorf (Zaphod-Systems)