Hallöchen,
ich wollte per Makro das Kontextmenü erweitern, welches beim Anklicken mehrerer Objekte (z.B. TextBoxen) oder von Gruppierungen erscheint.
Ich nutze auf der Suche nach den Menünamen ein Makro - siehe unten, welches mir in die Kontextmenüs den Namen selbiger einträgt. Das funktioniert auch - meist, denn leider kommt das im gesuchten Menü nicht an
Ich hab verschiedene Gedanken gehabt und am nahe liegendsten vermutet, dass es sich dabei um das Format Object - Menü handelt.
Das bringt mir aber den Fehler
Laufzeitfehler -2147467259 (800004005)
Die Methode 'Add' für das Ojekt 'CommandBarControls' ist fehlgeschlagen
(Der Code ist ok, bei anderen Kontextmenüs klappt es)
Hat da jemand eine Lösung? (und wenn ja, welche? :17: )
Hier der Code für die Menünamen:
ich wollte per Makro das Kontextmenü erweitern, welches beim Anklicken mehrerer Objekte (z.B. TextBoxen) oder von Gruppierungen erscheint.
Ich nutze auf der Suche nach den Menünamen ein Makro - siehe unten, welches mir in die Kontextmenüs den Namen selbiger einträgt. Das funktioniert auch - meist, denn leider kommt das im gesuchten Menü nicht an
Ich hab verschiedene Gedanken gehabt und am nahe liegendsten vermutet, dass es sich dabei um das Format Object - Menü handelt.
Das bringt mir aber den Fehler
Laufzeitfehler -2147467259 (800004005)
Die Methode 'Add' für das Ojekt 'CommandBarControls' ist fehlgeschlagen
(Der Code ist ok, bei anderen Kontextmenüs klappt es)
Hat da jemand eine Lösung? (und wenn ja, welche? :17: )
Hier der Code für die Menünamen:
Code:
Sub Add_Name_To_Contextmenus()
Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
With Cbar
If .Type = msoBarTypePopup Then
On Error Resume Next
With .Controls.Add(Type:=msoControlButton)
.Caption = "Name for VBA = " & Cbar.Name
.Tag = "NameButtonInContextMenu"
End With
On Error GoTo 0
End If
End With
Next
End Sub
Sub Delete_Name_From_Contextmenus()
Dim Cbar As CommandBar
Dim ctrl As CommandBarControl
For Each Cbar In Application.CommandBars
With Cbar
If .Type = msoBarTypePopup Then
For Each ctrl In .Controls
If ctrl.Tag = "NameButtonInContextMenu" Then
ctrl.Delete
End If
Next ctrl
End If
End With
Next
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)