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

fehler beim aufrufen

fehler beim aufrufen
02.08.2005 18:43:24
Sören
wenn ich nachfolgende sub per

Private Sub workbook_Open()
symbolleiste_erstellen true
End Sub

aufrufen möchte, sagt mir excel:" fehler beim kompilieren: argument ist nicht optional"
woran liegt das? und was muss ich machen, um sie fehlerfrei zu starten?
Sub symbolleiste_erstellen(strName As String, intID As Integer)
Dim mnuCommandbar As CommandBar
Dim mnuMenuControl As CommandBarControl
Dim mnuControlButton As CommandBarControl
Dim intPosition As Integer
intPosition = CommandBars(95).Controls.Count
Set mnuCo mmandbar = _
CommandBars.Add(strName, msoBarFloating, , True)
Set mnuMenuControl = _
CommandBars(95).Controls _
.Add(msoControlPopup, intID, , intPosition, True)
mnuMenueControl.Caption = strName

Set mnuControlButton = _
mnuCommandbar.Controls.Add(Type:=msoControlButton)
With mnuControlButton
.Style = msoButtonCaption
.Caption = "Datenermittlung und -aufbereitung"
.TooltipText = "Datenermittlung und -aufbereitung"
End With

Set mnuControlButton = _
mnuCommandbar.Controls.Add(Type:=msoControlButton)
With mnuControlButton
.Style = msoButtonCaption
.Caption = "Ist-Analyse"
.TooltipText = "Ist-Analyse"
End With
Set mnuControlButton = _
mnuCommandbar.Controls.Add(Type:=msoControlButton)
With mnuControlButton
.Style = msoButtonCaption
.Caption = "Bedarfsberechnung Ressourcen"
.TooltipText = "Bedarfsberechnung Ressourcen"
End With
mnuCommandbar.Visible = True
Set mnuControlButton = Nothing
Set mnuMenuControl = Nothing
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fehler beim aufrufen
02.08.2005 18:53:42
Reinhard
Hi Sören,
Sub symbolleiste_erstellen(strName As String, intID As Integer)
Gruß
Reinhard
AW: fehler beim aufrufen
02.08.2005 19:00:51
sören
hallo reinhard,
wie meinst du das? das klappt nicht!
gruß,
sören
AW: fehler beim aufrufen
02.08.2005 19:11:31
Leo
Hi,
du musst die Argumente beim Aufruf übergeben:

Private Sub workbook_Open()
symbolleiste_erstellen "DeineLeiste", 10 'ID des controls
End Sub

Wobei nicht klar ist, welches Popup da zugefügt werden soll?
Die Button haben keine OnAction- Eigenschaft, also keine Funktion.
mfg Leo
AW: fehler beim aufrufen
02.08.2005 19:18:46
sören
hi leo,
ja ich weiß, hab noch nichts hinterlegt. will erstmal nur, dass die selbsterstellte symbolleiste inkl. popup menue eingeblendet wird. die on_action elemente folgen dann noch. bin ja in der entwicklung.
irgendwie funktioniert das aber nicht.
kannst du mir nochmal helfen?
gruß,
sören
Anzeige
AW: fehler beim aufrufen
02.08.2005 19:23:17
ransi
hallo sören
suchst du code um eine leiste zur laufzeit zu erstellen oder
gibt es die leiste schon und du willst sie nur einblenden?
letzteres geht so:

Private Sub workbook_Open()
commandbars("symbolleiste_erstellen ").visible=true
End Sub

ransi
ziehe antwort zurück.
02.08.2005 19:29:29
ransi
weil war blödsinn
ransi
AW: fehler beim aufrufen
02.08.2005 19:25:55
Leo
Hi,
erklär mal, was du eigenlich willst. Laut deinem Code wird eine Leiste erstellt und die
Commandbar "Schutz" erweitert.
mfg Leo
AW: fehler beim aufrufen
02.08.2005 20:10:51
Sören
hi leo,
ich möchte eine menüleiste erstellen, in der popupmenüs stehen sollen, die beim anklicken aufgehen und dann menübefehle beinhalten ganz wie bei normalen excel menüleisten.
ich bekomme aber irgendwie diese popup menüs nicht hin.
kannst du mir da helfen?
gruß,
sören
Anzeige
AW: fehler beim aufrufen
02.08.2005 20:42:16
Leo
Hi,
du gehst für meinen Geschmack den falschen Weg. Statt irgendeinen Code zu verwenden,
den du nicht verstehst, stell besser gezielte Fragen.
Ich verstehe nicht, was in deinem Code Commandbars(95) für eine Rolle spielt, darauf
hast du noch gar nicht geantwortet.
mfg Leo

Private Sub Workbook_Activate()
Call Commandbar_erstellen
End Sub


Private Sub Workbook_Deactivate()
Call Commandbar_loeschen
End Sub

Option Explicit
Const CBNAME As String = "DeineSymbolleiste"
Sub Commandbar_erstellen()
Dim cb As CommandBar, cbb As CommandBarButton, cbp As CommandBarPopup
'Commandbar löschen
Call Commandbar_loeschen
'Commandbar erststellen
Set cb = CommandBars.Add(CBNAME)
'Popup erstellen
Set cbp = cb.Controls.Add(msoControlPopup)
cbp.Caption = "Ich bin ein freundliches Popup..."
'1. Button ins Popup
Set cbb = cbp.Controls.Add(msoControlButton)
With cbb
.Style = msoButtonIconAndCaption
.Caption = "Button 1"
.BeginGroup = True
.FaceId = 29
.OnAction = "Test"
End With
'2. Button ins Popup
Set cbb = cbp.Controls.Add(msoControlButton)
With cbb
.Style = msoButtonIconAndCaption
.Caption = "Button 2"
.BeginGroup = True
.FaceId = 33
.OnAction = "Test"
End With
'Commandbar anzeigen
With cb
.Enabled = True
.Visible = True
.Position = msoBarFloating
.Left = 100
.Top = 150
End With
End Sub
Sub Commandbar_loeschen()
On Error Resume Next
CommandBars(CBNAME).Delete
End Sub
Sub Test()
MsgBox "Testmakro"
End Sub
Anzeige
AW: fehler beim aufrufen
02.08.2005 21:07:44
Sören
Super leo,
vielen, vielen dank. das ist der richtige ansatz für mich.
ich bin halt noch nicht ganz so firm in vba und bin bei der entwicklung hauptsächlich auf literatur angewiesen, und das klappt halt nicht immer so...
ich dank dir.
schönen abend noch.
gruß,
sören

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige