|
こんばんわ。
ichinoseはんのご意見が正しいと思うねんけどな・・・
CommandBarPopupとCommandBarButtonの違い、わかってまっか?
↓こういうことやないのかな?
Sub AddCommandBar()
Dim MyCB As CommandBar
Dim MyCBP As CommandBarPopup
Dim MyCBC1 As CommandBarButton
Dim MyCBC2 As CommandBarButton
Set MyCB = Application.CommandBars("Cell")
Set MyCBP = MyCB.Controls.Add(Type:=msoControlPopup)
MyCBP.Caption = "Popup"
Set MyCBC1 = MyCBP.Controls.Add(Type:=msoControlButton)
MyCBC1.OnAction = "Macro1"
MyCBC1.Caption = "Macro1-0"
MyCBC1.Parameter = "0"
Set MyCBC2 = MyCBP.Controls.Add(Type:=msoControlButton)
MyCBC2.OnAction = "Macro1"
MyCBC2.Caption = "Macro1-1"
MyCBC2.Parameter = "1"
End Sub
Sub Macro1()
MsgBox Application.CommandBars.ActionControl.Parameter
'行いたい処理
End Sub
ただし、こういうときはWith使えば簡略化できまっせ。↓こんな感じ。
Sub AddCommandBar2()
With Application.CommandBars("Cell")
With .Controls.Add(Type:=msoControlPopup)
.Caption = "Popup"
With .Controls.Add(Type:=msoControlButton)
.OnAction = "Macro1"
.Caption = "Macro1-0"
.Parameter = "0"
End With
With .Controls.Add(Type:=msoControlButton)
.OnAction = "Macro1"
.Caption = "Macro1-1"
.Parameter = "1"
End With
End With
End With
End Sub
せやけど、実際はこのコードでは実行するたびに、メニュー項目が増えるから
ちゃんと存在チェックかけなあきまへんで。
試してみてな。
ほな。
|
|