Salve an Alle,
ich möchte aus dem Kontext-Menü des Blattregisters bestimmte Items deaktivieren bzw. ausblenden („Code anzeigen“, „Umbennen“ u.ä.). Wie ist der Name des Popup-Menüs und die Namen dessen Inhalts?
Mit
Application.CommandBars("Toolbar List").Enabled = False
kann ich das Kontextmenü der Befehlsleisten deaktivieren und mit
For Each cBar In Application.CommandBars
If cBar.Type = msoBarTypePopup Then cBar.Enabled = False
Next cBar
deaktiviere ich alle anderen Kontextmenüs. Mit der folgenden Auflistung bin ich nicht fündig geworden.
i = 1
For Each cBar In CommandBars
If cBar.Type = msoBarTypePopup Then
Debug.Print i, cBar.Name, cBar.NameLocal, cBar.Visible
i = i + 1
End If
Next
Kann jemand helfen?
Danke und Gruß Manne
ich möchte aus dem Kontext-Menü des Blattregisters bestimmte
Items deaktivieren bzw. ausblenden („Code anzeigen“,
„Umbennen“ u.ä.). Wie ist der Name des Popup-Menüs und die
Namen dessen Inhalts?
Hallo Manne,
Hinweis, CommandBars haben einen Namen, Controls eine Caption:
Sub Makro2()
MsgBox CommandBars(„Ply“).Name
MsgBox CommandBars(„Ply“).Controls("&Code anzeigen").Caption
End Sub
Lösung:
Sub Makro1()
With CommandBars("Ply")
.Controls("&Code anzeigen").Enabled = False
.Controls("&Umbenennen").Enabled = False
End With
End Sub
Gruß
Reinhard
Salve Reinhard,
Du bist mein Retter. Jetzt kann ich das ‚Projekt‘ endlich abschließen.
Du scheinst der Einzigste zu sein, der über dieses spezielles Wissen verfügt. Großes Lob ! 2 andere Foren konnten mir nicht helfen. Aber heute kann ich es leider nicht mehr testen. Nach einer anstrengenden Doppelschicht hat meine Intellegenz und Lust ein ganz tiefes Niveau (gegen Null). Ich berichte Morgen.
Danke Nochmal.
Gruß Manne
Salve Reinhard,
die Neugierde und mein schlechtes Gewissen haben gesiegt.
Es funktioniert prächtig !
Wo steht sowas ?
Danke und Gruß
Manne
P.S.; zu „Ply with drink“ steht in meinem Wörterbuch : Zum Trinken nötigen.
Na denn mal Prost 
hallo Manne,
Es funktioniert prächtig !
Danke.
Wo steht sowas ?
K.A., ich hab da keine Bücher dazu.
Wie das Ding heißt habe ich so in etwa herausgefunden:
Sub tt()
Dim cb, cbc
For Each cb In CommandBars
For Each cbc In cb.Controls
If cbc.Caption = "&Code anzeigen" Then MsgBox cb.Name
Next cbc
Next cb
End Sub
Ich löse alles hier durch Vorwissen, F1, Google.
In ganz harten Fällen frage ich, aber sehr selten, mal andernorts nach, aber nahezu nicht nach dem Problem sondern nach dem Teilproblem an dem ich grad festhänge und nicht weiterkomme.
P.S.; zu „Ply with drink“ steht in meinem Wörterbuch : Zum
Trinken nötigen.
*grins* warum das tabellenregister Ply heißt ist mir unklar, naja, mein Englisch ist sehr mangelhaft aber „Sheetsnames“ o.ä. wär mir lieber 
Gruß
Reinhard