Ich habe mal wieder ein VBA-Problem. Diesmal will ich ein Menu hinzufügen, über das Makros aufgerufen werden sollen. Dank eines abgewandelten Beispiels hier aus dem Forum bzw. aus den Excelbeispielen von Hans (ohne die ich eh verloren wäre - hier noch mal vielen Dank) hab ich das Menu selbst auch mittlerweile hingekriegt. Nur erscheint es noch unterhalb der bisherigen Menuleiste + Buttonleiste, nicht rechts ob in der Menuleiste wie ich es lieber hätte.
Jetzt zum eigentlichen Problem: beim Makroaufruf erscheint jedes Mal die Fehlermeldung "Wrong number of arguments or invalid property assignment (Error 450)". Ich habe es schon versucht, die Makros als Public zu deklarieren oder von Subs in Functions umzustricken oder "modul1" davorzuschreiben - half alles nichts. :-(
Hier ist mein Menu-Code:
______________________________________________________________
Private Sub Workbook_Open()
Dim objBar As CommandBar
Dim objPopUp As CommandBarPopup
Dim objBtn1 As CommandBarButton
Dim objBtn2 As CommandBarButton
Dim strBar As String
strBar = "Comments"
On Error Resume Next
Application.CommandBars(strBar).Delete
On Error GoTo 0
Set objBar = Application.CommandBars.Add( _
Name:=strBar, _
Position:=msoBarTop, _
MenuBar:=False, _
Temporary:=True)
Set objPopUp = objBar.Controls.Add(Type:=msoControlPopup)
objPopUp.Caption = "Comments"
Set objBtn1 = objPopUp.Controls.Add
With objBtn1
.Caption = "Extract Comments"
.OnAction = "extract"
.Style = msoButtonCaption
End With
Set objBtn2 = objPopUp.Controls.Add
With objBtn2
.Caption = "Write back old comments"
.OnAction = "add_comments"
.Style = msoButtonCaption
End With
objBar.Visible = True
End Sub
______________________________________________________________
Thx in advance!