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

Menüleisten

Menüleisten
24.10.2005 09:28:29
MB
Hallo zusammen,
ich möchte beim Start einer Arbeitsmappe die vorhandenen Symbolleisten auslesen, in eine Tabelle speichern und anschließend alle ausblenden. Beim Verlassen der Datei sollen die zuvor ausgeblendeten Menüleisten wieder eingeblendet werden.
Der folgende Code funktioniert soweit, wenn ich diesen hinter zwei Buttons lege und mit "click" auslöse.
Jedoch kann ich mit meiner Menüleiste nicht die hinter den Befehlen liegenden Makros (zum Testen MsgBox) aufrufen --> Excel kann Makro Dateiname.xls!Makroname nicht finden! Die Makros stehen derzeit auch im Dokumentenmodul.
Warum werden die Makros nicht aufgerufen?
Warum funktioniert der code nicht in workbook_Open und workbook_BeforeClose?
Schon mal besten Dank!
LG Mike
Sub CommandButton1_Click()
Dim cb As CommandBar, cbc As CommandBarControl
Dim i As Integer
Dim name As String
For Each cb In Application.CommandBars
If CommandBars(cb.name).Visible = True Then
i = i + 1
Cells(i, 1) = i
Cells(i, 2) = cb.name
Cells(i, 3) = cb.NameLocal
End If
Next cb
'schauen, ob meine Menüleiste bereits vorhanden
For Each cb In CommandBars
If cb.name = "stiks" Then
cb.Delete
End If
Next cb
'Ausblenden der Menüleisten
i = 1
Cells(1, 1).Activate
name = Cells(1, 2)
Do While Not name = ""
Application.CommandBars(name).Enabled = False
i = i + 1
name = Cells(i, 2)
Loop
'Erstellen meiner Menüleiste
Set cb = Application.CommandBars.Add(name:="stiks", Position:=msoBarTop)
Set cbc = cb.Controls.Add(Type:=msoControlPopup)
cbc.Caption = "Verwaltung"
With cbc.Controls.Add
.Caption = "Datenimport"
.OnAction = "Datenimport"
End With
With cbc.Controls.Add
.Caption = "Ampel"
.OnAction = "Ampel"
End With
cb.Visible = True
End Sub

Private Sub CommandButton2_Click()
Dim cb As CommandBar, i As Integer
Dim name As String
For Each cb In CommandBars
If cb.name = "stiks" Then
cb.Delete
End If
Next cb
i = 1
name = Cells(1, 2)
Do While Not name = ""
Application.CommandBars(name).Enabled = True
i = i + 1
name = Cells(i, 2)
Loop
Cells.ClearContents
End Sub

Sub Datenimport()
MsgBox Date
End Sub
Sub Ampel()
MsgBox Time
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Menüleisten
24.10.2005 10:04:43
Hajo_Zi
Hallo Mike,
schaue mal auf meine Homepage da ist ein Beispiel auf der Seite fremde Dateien.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.


"Wer Rechtschreibfehler findet, darf sie behalten!"
oT: Danke Hajo, hat mir sehr geholfen!
25.10.2005 10:54:50
MB
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige