Hallo,
beim Start von Outlook erzeuge ich mein Menü über folg. Code :
Set MenuBar = Application.ActiveExplorer.CommandBars("Menu Bar")
Set Menu = MenuBar.Controls.Add(Type:=msoControlPopup)
Menu.Caption = "MeinMenü"
Set Control = Menu.Controls.Add
With Control
.Caption = "Mail: Aktualisierung KK"
.OnAction = "MailSenden_KK"
.Style = msoButtonCaption
End With
Wenn ich dann Outlook beende und wieder starte wird wieder ein
neues Menü erstellt usw.
Ich müsste doch beim Beenden dann das Menü wieder löschen können.
Wie mache ich das ?
Danke
Gruß
albe
Private Sub Application_Startup()
'ERstellt ein neues Menü mit den Einträgen
Dim cbar As CommandBar
Dim ctlcbar As CommandBarControl
Dim ctlNew01 As CommandBarControl
Dim ctlNew02 As CommandBarControl
Dim ctlNew03 As CommandBarControl
Dim ctlNew04 As CommandBarControl
' Verweis auf die Menüleiste setzen
Set cbar = ActiveExplorer.CommandBars("Menu Bar")
On Error Resume Next
Set ctlcbar = cbar.Controls("&MeinMenü")
If ctlcbar Is Nothing Then
Set ctlcbar = cbar.Controls.Add(Type:=msoControlPopup, ID:=1)
End If
With ctlcbar
.Caption = "&MeinMenü"
End With
' Prüfen, ob Eintrag bereits vorhanden ist.
Set ctlNew01 = ctlcbar.Controls("Neuer Eintrag")
' oder per FindControl suchen
On Error GoTo 0
If ctlNew01 Is Nothing Then
Set ctlNew01 = cbar.FindControl(Type:=msoControlButton, Tag:="Neuer
Eintrag", ID:=1, Recursive:=True)
End If
If ctlNew01 Is Nothing Then
Set ctlNew01 = ctlcbar.Controls.Add(Type:=msoControlButton, ID:=1)
End If
With ctlNew01
.BeginGroup = True ' Trennt den Eintrag ab
' mit FaceId kann ein integrietes Symbol verwendet werden
.FaceId = 3817
.Caption = "Mail: Update Krankenkassen"
' Vollständiger Verweis auf das Makro
.OnAction = "MailSenden_Link_KK"
' optional z.B. zur Identifizierung
.Tag = "NeuerEintrag"
.TooltipText = "Sendet eine E-Mail an Personalbuchhaltung
Aktualisierung Krankenkassen"
End With
If ctlNew02 Is Nothing Then
Set ctlNew02 = cbar.FindControl(Type:=msoControlButton, Tag:="Neuer
Eintrag", ID:=1, Recursive:=True)
End If
If ctlNew02 Is Nothing Then
Set ctlNew02 = ctlcbar.Controls.Add(Type:=msoControlButton, ID:=1)
End If
With ctlNew02
.BeginGroup = True ' Trennt den Eintrag ab
' mit FaceId kann ein integrietes Symbol verwendet werden
.FaceId = 3817
.Caption = "Mail: Update Lohnprogramm"
' Vollständiger Verweis auf das Makro
.OnAction = "MailSenden_Link_PGMUPDATE"
' optional z.B. zur Identifizierung
.Tag = "NeuerEintrag"
.TooltipText = "Sendet eine E-Mail an Personalbuchhaltung Update
Lohnsoftware"
End With
If ctlNew03 Is Nothing Then
Set ctlNew03 = cbar.FindControl(Type:=msoControlButton, Tag:="Neuer
Eintrag", ID:=1, Recursive:=True)
End If
If ctlNew03 Is Nothing Then
Set ctlNew03 = ctlcbar.Controls.Add(Type:=msoControlButton, ID:=1)
End If
With ctlNew03
.BeginGroup = True ' Trennt den Eintrag ab
' mit FaceId kann ein integrietes Symbol verwendet werden
.FaceId = 3817
.Caption = "Mail: Zeitnachtrag"
' Vollständiger Verweis auf das Makro
.OnAction = "MailSenden_Zeitnachtrag"
' optional z.B. zur Identifizierung
.Tag = "NeuerEintrag"
.TooltipText = "Sendet eine E-Mail an Personalbuchhaltung
Zeitnachtrag"
End With
If ctlNew04 Is Nothing Then
Set ctlNew04 = cbar.FindControl(Type:=msoControlButton, Tag:="Neuer
Eintrag", ID:=1, Recursive:=True)
End If
If ctlNew04 Is Nothing Then
Set ctlNew04 = ctlcbar.Controls.Add(Type:=msoControlButton, ID:=1)
End If
With ctlNew04
.BeginGroup = True ' Trennt den Eintrag ab
' mit FaceId kann ein integrietes Symbol verwendet werden
.FaceId = 3817
.Caption = "Mail User: Programmupdate"
' Vollständiger Verweis auf das Makro
.OnAction = "MailSenden_User_PGMUPDATE"
' optional z.B. zur Identifizierung
.Tag = "NeuerEintrag"
.TooltipText = "Sendet eine E-Mail an Benutzer bezüglich
Programmupdate"
End With
' Eintrag anzeigen
cbar.Visible = True
End Sub
Danke
Gruß
Albe
Hallo,
schau Dir das Beispiel bitte an:
http://www.vboffice.net/sample.html?mnu=2&pub=6&smp=16&cmd=showitem
--
Viele Gruesse
Michael Bauer - MVP Outlook
: Outlook-Kategorien? Category Manager ist die Lösung
: VBOffice Reporter für Datenanalyse & Berichte
: <http://www.vboffice.net/product.html?pub=6>