Herbers Excel-Forum - das Archiv
Eingene Symbolleiste erzeugen

|
Betrifft: Eingene Symbolleiste erzeugen
von: Stefan
Geschrieben am: 09.12.2003 14:28:35
hallo ihr lieben excel helfer,
hoffentlich kann mir jemand bei meinem problem helfen!
ich habe ein par makros aufgezeichnet und buttons dafür eingerichtet, allerdings befinden sich die auf dem excelblatt. wie kann ich denn die symbolleiste ausblenden und dafür meine buttons zeigen?
ghet das überhaupt?
vielen dank für eure hilfe
gruß stefan
Betrifft: AW: Eingene Symbolleiste erzeugen
von: Michael Brueggemann
Geschrieben am: 09.12.2003 15:05:04
Hallo Stefan,
wenn Du die Routine UserCommandBar_Create bei Workbook_Open und UserCommandBar_Delete bei Workbook_Close aufrufst, erhaeltst Du eine Symbolleiste, die nur in dieser einen Datei zur Verfuegung steht.
Sub UserCommandBar_Delete()
' Command bar loeschen
Application.CommandBars("UserCommandBar").Delete
End Sub
Sub UserCommandBar_Create()
Dim UserCommandBar As CommandBar
Dim UserCommandBarButton1, UserCommandBarButton2 As CommandBarButton
On Error Resume Next
' Command bar erzeugen
Set UserCommandBar = Application.CommandBars.Add( _
Name:="UserCommandBar", _
Position:=msoBarFloating, _
Temporary:=True)
' Command bar anzeigen
UserCommandBar.Visible = True
' Button1 erzeugen
Set UserCommandBarButton1 = _
UserCommandBar.Controls.Add(Type:=msoControlButton)
With UserCommandBarButton1
.TooltipText = "Testmakro1"
.OnAction = "Testmakro1"
.FaceId = 48 ' Brille
End With
' Button2 erzeugen
Set UserCommandBarButton2 = _
UserCommandBar.Controls.Add(Type:=msoControlButton)
With UserCommandBarButton2
.TooltipText = "Testmakro2"
.OnAction = "Testmakro2"
.FaceId = 50 ' Rechner
End With
End Sub
Sub Testmakro1()
MsgBox "Testmakro1"
End Sub
Sub Testmakro2()
MsgBox "Testmakro2"
End Sub
CIAO
Michael
Betrifft: AW: Eingene Symbolleiste erzeugen
von: Stefan
Geschrieben am: 09.12.2003 15:15:40
und wie kann ich anstelle der symbole einen text schreiben?
geht das auch?
schon mal danke dafür Stefan
Betrifft: AW: Eingene Symbolleiste erzeugen
von: Danny Faak
Geschrieben am: 09.12.2003 17:01:10
Kann man keine normalen Proceduren in das Script einfügen?
Habe das gerade mal probiert doch es gibt die Fehlermeldung "Microsoft bla bla bla kann das Makro net finden"
Ist ein echt cooles script ;)
Betrifft: AW: Eingene Symbolleiste erzeugen
von: Michael Brueggemann
Geschrieben am: 10.12.2003 08:43:34
Hallo Danny,
das Makro, das in der Eigenschaft "OnAction" angegeben ist (in meinem Beispiel "Testmakro1" und "Testmakro2" muss sich im globalen Modul befinden, nicht als eine Objektprozedur hinter z.B. "Diese Arbeitsmappe". Nur dann wird es gefunden.
Also im VBA Editor "Einfügen - Modul" und die Subroutine in diesem Modul erstellen.
CIAO
Michael
Betrifft: AW: Eingene Symbolleiste erzeugen
von: Danny Faak
Geschrieben am: 11.12.2003 09:21:11
Danke!!!!!!!!!!
Betrifft: AW: Eingene Symbolleiste erzeugen
von: Michael Brueggemann
Geschrieben am: 10.12.2003 08:39:36
Hallo Stefan,
das geht auch, und zwar so:
' Button1 erzeugen
Set UserCommandBarButton1 = _
UserCommandBar.Controls.Add(Type:=msoControlButton)
With UserCommandBarButton1
.Style = msoButtonCaption
.TooltipText = "Testmakro1"
.OnAction = "Testmakro1"
.Caption = "Name des Buttons1"
End With
CIAO
Michael
Betrifft: WELTKLASSE!!! DANKE!!
von: Stefan
Geschrieben am: 10.12.2003 10:26:33
Das ist echt spitzenmäßig ganau das habe ich gebraucht,
vielen dank nochmal!
gruß stefan