Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Symbolleisten automatisch per VBA anbinden

Symbolleisten automatisch per VBA anbinden
12.06.2005 14:31:54
Rüdiger
Hallo,
ich möchte gerne mit VBA automatisiert alle benutzerdefinierten Symbolleisten an die aktuelle DAtei anbinden.
Leider scheint es keine Methode in Excel 2000 zu geben, mit der dies problemlos möglich wäre. Also muß ich auf die Sendkeys-Methode ausweichen.
Hierzu habe ich eine Vorlage von der ehem. Site "SOSCQ" von Phillip von Wartburg gefunden, die bei mir jedoch leider nicht funktioniert.
Der Originalcode lautet:

Function GetCustomCommandBarsCount() As Integer
Dim intCustomBars As Integer
Dim intCounter As Integer
intCustomBars = 0
For intCounter = 1 To Application.CommandBars.Count
If Application.CommandBars(intCounter).BuiltIn = False Then
intCustomBars = intCustomBars + 1
End If
Next intCounter
GetCustomCommandBarsCount = intCustomBars
End Function


Sub AttachCommandbarsToWorkbook()
Dim intCounter As Integer
Dim intCustomBars As Integer
intCustomBars = GetCustomCommandBarsCount()
AppActivate "Microsoft Excel"
SendKeys "{tab} "
For intCounter = 1 To intCustomBars
SendKeys "{down} "
Next intCounter
SendKeys "&k{tab}{enter}"
Application.Dialogs(xlDialogAttachToolbars).Show
End Sub

Das Problem:
Der Code scheint fehlerhaft zu sein, da
Application.Dialogs(xlDialogAttachToolbars).Show
nicht zu Beginn der Prozedur aufgerufen wird und somit die Sendkeys-Befehle nicht im Dialog ausgeführt werden.
Also habe ich den Code geändert:

Sub AttachCommandbarsToWorkbook()
Dim intCounter As Integer
Dim intCustomBars As Integer
intCustomBars = GetCustomCommandBarsCount()
AppActivate "Microsoft Excel"
Application.Dialogs(xlDialogAttachToolbars).Show
'###### ab hier bleibt der Dialog stehen und nimmt keine
'###### weiteren SendKey-Befehl an.
SendKeys "{tab} "
For intCounter = 1 To intCustomBars
SendKeys "{down} "
Next intCounter
SendKeys "&k{tab}{enter}"
Application.Dialogs(xlDialogAttachToolbars).Show
End Sub

Hat jemand eine Idee, wie der Code geändert werden kann, damit er läuft?
Vielen Dank!!!
Schönen Gruß,
Rüdiger
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Symbolleisten automatisch per VBA anbinden
12.06.2005 14:35:47
Hajo_Zi
Hallo Rüdiger,
erstelle die Symboleiste komplett in VBA.
Schaue mal auf meine Homepage da ist ein Beispiel auf der Seite VBA.
Beispieldatei
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Home und Excel Version XP 2003 SP1.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Symbolleisten automatisch per VBA anbinden
12.06.2005 14:52:00
Rüdiger
HAllo Hajo,
danke für die schnelle Antwort! Ich wollte jedoch möglichst eine automatisierte Erstellung der Symbolleiste vermeiden, da dies recht aufwendig ist (die betreffende Commandbar hat mehrere Untermenüs). Daher wollte ich dies möglichst über den Befehl mit "Anbinden" erledigen; d.h. bei jeder Änderung der Commandbar soll die Anbindung zunächst automatisiert aufgehoben werden und anschließen wieder neu angebunden werden.
Manuell klappt das gut, nur das ist mir auf Dauer zu aufwendig...
Siehst Du hier eine Möglichkeit?
Schönen Gruß, Rüdiger
Anzeige
Nicht möglich! oT
12.06.2005 16:10:40
Jan
oT
AW: Nicht möglich! oT
12.06.2005 17:04:13
Rüdiger
Schade, wäre schön gewesen!
Gruß, Rüdiger
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige