Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
544to548
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
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Commandbar Controls

Commandbar Controls
13.01.2005 17:35:42
Rolf
Hallo Forum,
ich möchte alle Controls aller Commandbars auflisten.
Mit "CommandBars.FindControls" erhalte ich nur die 1. Ebene.
Wie kann ich die weiteren Ebenen (s.Codebeispiel "Datei"
und "Druckbereich") automatisiert ansprechen?
Freundliche Grüße
Rolf Beißner
Hinweis:
Den Gosub-Befehl macht der Forumeditor nicht mit;
bitte also im u.a. Code "Goto" durch "Gosub" ersetzen.
Option Explicit

Sub ShowControls()
Dim cbc As CommandBarControls, c As CommandBarControl
Dim iRow As Integer
Worksheets.Add
'1. Ebene: Controls von Commandbars
Set cbc = CommandBars.FindControls
Goto NextLevel
'2. Ebene: Controls von "Datei"
Set cbc = CommandBars("Worksheet Menu Bar").Controls("&Datei").Controls
Goto NextLevel
'3. Ebene: Controls von "Druckbereich"
Set cbc = CommandBars("Worksheet Menu Bar").Controls("&Datei"). _
Controls("Druc&kbereich").Controls
Goto NextLevel
Exit Sub
NextLevel:
For Each c In cbc
iRow = iRow + 1
Cells(iRow, 1) = c.Parent.Name
Cells(iRow, 2) = c.Caption
Next
Return
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Commandbar Controls
bernd
hallo rolf
hilft dir das weiter?
Option Explicit
Public

Sub t()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim z As Long
z = 1
On Error Resume Next
For i = 1 To CommandBars.Count
For j = 1 To CommandBars(i).Controls.Count
For k = 1 To CommandBars(i).Controls(j).Controls.Count
Cells(z, 1) = CommandBars(i).Name
Cells(z, 2) = CommandBars(i).NameLocal
Cells(z, 3) = CommandBars(i).Controls(j).Caption
Cells(z, 4) = "ID:= " & CommandBars(i).Controls(j).ID
Cells(z, 5) = CommandBars(i).Controls(j).Enabled
Cells(z, 6) = CommandBars(i).Controls(j).Type
Cells(z, 7) = CommandBars(i).Controls(j).Controls(k).Caption
Cells(z, 8) = "ID:= " & CommandBars(i).Controls(j).Controls(k).ID
Cells(z, 9) = CommandBars(i).Controls(j).Controls(k).Enabled
Cells(z, 10) = CommandBars(i).Controls(j).Controls(k).Type
z = z + 1
Next
Next
Next
End Sub

die schleifen kannst du noch einige ebenen weiter nach innen binden
ist jetzt nur bis zur zweiten ebene.
bernd
Anzeige
AW: Commandbar Controls
13.01.2005 21:06:58
Rolf
Hallo Bernd,
vielen Dank.
Das ist, wenn auch ein wenig mit der Brechstange,
ein zielführendes Verfahren.
Dabei wäre es allerdings gut, zu wissen, wieviele
Schachtelungen maximal möglich sind, damit nichts
durch die Lappen geht.
Hast du eine Ahnung?
Herzliche Grüße
Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige