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

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

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
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
Anzeige

270 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige