habe unter Outlook eine größere Anwendung erstellt und wollte nun ein PopUp Menu auf eine Listview etablieren. Ich versuche jetzt ca seit einem Monat eine Lösung zu finden - ohne Erfolg. Ihr seit jetzt meine letzte Hoffnung.
Folgendes Szenario:
Ich starte aus ThisOutlookSession über ein in AddIns etabliertes Menu eine Userform (vbModeless). Auf dieser Userform befindet sich eine Multipage und auf dieser wiederum eine Listview.
Habe mir jetzt ein Modul mit folgendem Inhalt erstellt (Code im Internet gefunden - dort funktioniert er wohl):
Sub DeletePopUpMenu()
On Error Resume Next
CommandBars("MonContextuel").Delete
On Error GoTo 0
End Sub
Sub AfficherPopUpMenu()
' Delete any existing popup menu.
Call DeletePopUpMenu
' Create the popup menu.
Call MenuClickDroit
' Display the popup menu.
On Error Resume Next
CommandBars("MonContextuel").ShowPopup
On Error GoTo 0
End Sub
Sub MenuClickDroit()
' Add the popup menu.
With CommandBars.Add(Name:="MonContextuel", Position:=msoBarPopup, _
MenuBar:=False, Temporary:=True)
' First, add two buttons to the menu.
With .Controls.Add(Type:=msoControlButton)
.Caption = "toto"
.FaceId = 2
.OnAction = "affichetoto"
End With
With .Controls.Add(Type:=msoControlButton)
.Caption = "zaza"
.FaceId = 3
.OnAction = "affichezaza"
End With
End With
End Sub
Sub affichetoto()
MsgBox "C'est Toto"
End Sub
Sub affichezaza()
MsgBox "Je m'appelle Zaza"
End Sub
Im Code Der Userform habe ich folgenden Code hinterlegt:
Private Sub DOLV1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As stdole. _
OLE_XPOS_PIXELS, ByVal Y As stdole.OLE_YPOS_PIXELS)
If Button = 2 Then
AfficherPopUpMenu
End If
End Sub
Private Sub UserForm_Terminate()
DeletePopUpMenu
End Sub
Es passiert nun folgendes:
Beim ersten Rechtsklick auf die Listview öffnet sich das PopUp Menu. Klicke ich auf einen der beiden Punkte kommt ein Fenster mit der Zahl 400. Das PopUp Menu ist im Anschluss zu. Bei einem erneuten Versuch passiert nichts mehr. Der Fehler dahinter ist "Die Methode 'ShowPopup' für das Objekt 'CommandBar' ist fehlgeschlagen". Beende ich die VBA Anwendung und starte Neu kommt sofort der Fehler bzw. auf Grund der Fehlerbehandlung passiert nichts. Erst bei einem Neustart von Outlook beginnt das Spiel von neuem.
Ich habe keine Ahnung was ich falsch mache - hoffe jemand kann mich aufklären.
Vielen Dank im Voraus.
Gruß
Ralf