Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 07:40:43
Ralf
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

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 08:11:57
Nepumuk
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
Anzeige
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 08:37:27
Ralf
Hallo Nepumuk,
das hatte ich bereits versucht - leider selbes Ergebnis.
Gruß
Ralf
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 09:18:10
Nepumuk
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
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 09:32:14
Ralf
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
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 10:21:02
Nepumuk
Hallo Ralf,
da kann ich dir nicht weiterhelfen. Ich stell die Frage auf offen.
Gruß
Nepumuk
Anzeige
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 10:30:38
Ralf
Hallo Nepumuk,
trotzdem vielen Dank! :-)
gruß
ralf
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 11:18:08
Nepumuk
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
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 13:16:47
Nepumuk
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
Anzeige
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 13:19:38
Ralf
Hallo Nepumuk,
wenn Du hier eine Lösung findest bist Du mein persönlicher VBA GOTT!!!
Gruß
Ralf
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 13:35:35
Nepumuk
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
AW: PopUp-Menu in Userform auf Listview (Outlook)
11.02.2019 13:38:19
Ralf
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
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige