Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Eigenes Symbol im VBA-Editor

Betrifft: Eigenes Symbol im VBA-Editor von: Stefan Krähe
Geschrieben am: 11.07.2007 15:14:37

Hallo VBA-Gemeinde,

ich habe ein Add-In mit ein paar Hilfsroutinen.
Jetzt möchte ich im VBA-Editor beim Start des Add-Ins ein Symbol anlegen lassen, das eine der Routinen aufruft. Kann mir jemand aufs Pferd helfen?

Danke.

Stefan.

  

Betrifft: AW: Eigenes Symbol im VBA-Editor von: mumpel
Geschrieben am: 11.07.2007 15:19:26

Hallo!

Das Online-Archiv ist voll von Beipielen. http://xlarchiv.herber.de/ Gibt dort als Suchbegriff "Symbolleiste erstellen", oder "Symbolleiste" ein.

Gruß, Rene


  

Betrifft: Nachtrag von: mumpel
Geschrieben am: 11.07.2007 15:22:26

Oder oberhalb bei "Archiv" den Suchbegriff eingeben und auf Schaltfläche "Archiv" klicken.


  

Betrifft: AW: Eigenes Symbol im VBA-Editor von: Stefan Krähe
Geschrieben am: 11.07.2007 15:23:06

Hallo Rene,

ich meinte keine Symbolleiste in Excel, sondern im VBA-Editor.
Dafür habe ich nichts gefunden.

Stefan.


  

Betrifft: AW: Eigenes Symbol im VBA-Editor von: mumpel
Geschrieben am: 11.07.2007 15:35:07

Hier ein Beispielmakro zum Erstellen und eines zum Löschen. Das funktioniert im Prinzip wie in Excel, nur schiebt man dabei "VBE" in den Code ein.


Sub SymbolLeisteInVBAEin()
' Symbolleiste erstellen
On Error Resume Next
Set symb = Application.VBE.CommandBars.Add("Test", Position:=msoBarTop, Temporary:=True)
    With symb
      .Left = 0
      .Visible = True
    End With
Set AA = Application.VBE.CommandBars("Test").Controls.Add(Type:=msoControlButton)
    With AA
      .Style = msoButtonCaption
      .Caption = "Jan"
      .BeginGroup = True
      .OnAction = "JanEin"
    End With
End Sub


Sub SymbolLeisteInVBAAus()
'Symbolleiste löschen
On Error Resume Next
Application.VBE.CommandBars.Add("Test").Delete
End Sub




  

Betrifft: Korrektur von: mumpel
Geschrieben am: 11.07.2007 15:36:38

Ein kleiner fehler im Löschcode, hier die Korrektur

Sub SymbolLeisteInVBAAus()
On Error Resume Next
Application.VBE.CommandBars("Test").Delete
End Sub




  

Betrifft: AW: Eigenes Symbol im VBA-Editor von: Stefan Krähe
Geschrieben am: 11.07.2007 16:31:42

Hallo Rene,

noch eine Nachfrage: Die Symbolleiste wird angelegt, jedoch wird keine Aktion ausgeführt.
Wenn ich das .VBE aus dem Code entferne, also eine ganz normale ExcelSymbolleiste erstelle, dann klappt es, Weißt Du Rat?

Danke.

Stefan.


  

Betrifft: AW: Eigenes Symbol im VBA-Editor von: Stefan Krähe
Geschrieben am: 11.07.2007 16:45:09

Ich glaube, dass ich es herausgefunden habe:

https://www.herber.de/forum/archiv/440to444/t443446.htm#443446


  

Betrifft: AW: Eigenes Symbol im VBA-Editor von: mumpel
Geschrieben am: 11.07.2007 16:53:19

Ich habe mir gerade mal die "vbePlusde.xla" von Hans vorgenommen. Verstehen tue ich im Moment nichts von dem Code. Aber das wird noch. Wäre ja zu schön gewesen, wenn es nach meinem Vorschlag funktioniert hätte.


  

Betrifft: Lösung von: Stefan Krähe
Geschrieben am: 12.07.2007 13:12:34

Diese Arbeitsmappe:

Private objMeinMenü As clsTest

Private Sub Workbook_Open()
    Set objMeinMenü = New clsTest
    objMeinMenü.Symbolleiste_ein
End Sub



clsTest:

Option Explicit

Public WithEvents objButton1 As CommandBarButton
Public WithEvents objButton2 As CommandBarButton


Public Function Symbolleiste_ein()
   Dim cb As CommandBar

   Set cb = Application.VBE.CommandBars.Add("TestBar")
   cb.Visible = True
   cb.Position = msoBarTop

   Set objButton1 = cb.Controls.Add(msoControlButton)
   With objButton1
          .BeginGroup = True
        .Style = msoButtonIcon
        .TooltipText = "Test Button 1"
        .FaceId = 3170
   End With
   
    Set objButton2 = cb.Controls.Add(msoControlButton)
   With objButton2
        .BeginGroup = False
        .Style = msoButtonIcon
        .TooltipText = "Test Button 2"
        .FaceId = 159
   End With
   
End Function



Private Sub objButton1_click(ByVal ctrl As Office.CommandBarButton, CancelDefault As Boolean)
   MsgBox "Gedrückt wurde Button 1"
End Sub



Private Sub objButton2_click(ByVal ctrl As Office.CommandBarButton, CancelDefault As Boolean)
   MsgBox "Gedrückt wurde Button 2"
End Sub




 

Beiträge aus den Excel-Beispielen zum Thema "Eigenes Symbol im VBA-Editor"