Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

PopUp-Menu in Userform auf Listview (Outlook)


Betrifft: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 07:40:43

Hallo liebe Excel Profis,

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

  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Nepumuk
Geschrieben am: 11.02.2019 08:11:57

Hallo Ralf,

es macht keinen Sinn das Kontextmenü bei jedem Klick zu löschen und neu zu erstellen. Erstelle es im Initialize-Event des Userforms.

Das MouseUp-Event dann so:

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 CommandBars("MonContextuel").ShowPopup
End Sub

Gruß
Nepumuk


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 08:37:27

Hallo Nepumuk,

das hatte ich bereits versucht - leider selbes Ergebnis.

Gruß

Ralf


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Nepumuk
Geschrieben am: 11.02.2019 09:18:10

Hallo Ralf,

kann ich nicht nachvollziehen. Ich habe das mal in Excel nachgebaut. Funktioniert wie vorgesehen:

https://www.herber.de/bbs/user/127562.xlsm

Gruß
Nepumuk


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 09:32:14

Hallo Nepumuk,

exakt genau das ist ja mein Problem - es sollte eigentlich funktionieren!!!

der einzige Unterschied ist, dass ich nicht in Excel sondern in Outlook VBA arbeite und da gehts irgendwie nicht.

Gruß Ralf


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Nepumuk
Geschrieben am: 11.02.2019 10:21:02

Hallo Ralf,

da kann ich dir nicht weiterhelfen. Ich stell die Frage auf offen.

Gruß
Nepumuk


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 10:30:38

Hallo Nepumuk,

trotzdem vielen Dank! :-)

gruß

ralf


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Nepumuk
Geschrieben am: 11.02.2019 11:18:08

Hallo Ralf,

ich habe es gerade in Outlook 2013 versucht. Da ist das Commandbars-Objekt unbekannt. Hast du einen Verweis gesetzt damit das geht?

Gruß
Nepumuk


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 13:10:15

Hallo Nepumuk,

folgende Verweise habe ich in Outlook VBA gesetzt: https://www.herber.de/bbs/user/127575.jpg

gruß

Ralf


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Nepumuk
Geschrieben am: 11.02.2019 13:16:47

Hallo Ralf,

ok, dann laufen die Commandbars über Excel. Ich teste das mal später mit dem Modul und dem Userform aus meiner Excel-Mappe welche ich nach Outlook exportiere.

Gruß
Nepumuk


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 13:19:38

Hallo Nepumuk,

wenn Du hier eine Lösung findest bist Du mein persönlicher VBA GOTT!!!

Gruß

Ralf


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Nepumuk
Geschrieben am: 11.02.2019 13:35:35

Hallo Ralf,

konnte mich nicht zurückhalten und habe es gleich getestet. Du hast Recht, da kommt eine unspezifizierte Fehlermeldung.

Wie wäre es, an Stelle der Commandbar ein kleines Userform ohne Titelleiste mit zwei Buttons welches beim Rechtsklick neben dem Cursor angezeigt wird? So etwas habe ich schon mehrfach gemacht, der Aufwand hält sich in Grenzen.

Gruß
Nepumuk


  

Betrifft: AW: PopUp-Menu in Userform auf Listview (Outlook) von: Ralf
Geschrieben am: 11.02.2019 13:38:19

Hallo Nepumuk,

mmmmmhhhhhh ........

Das wäre eine Möglichkeit obwohl mir das so vorkommt wie mit dem Pferdefuhrwerk nach Italien zu reisen. ;-)

Schöner wäre ein Popup.

Gruß

Ralf


Beiträge aus dem Excel-Forum zum Thema "PopUp-Menu in Userform auf Listview (Outlook)"