|
▼ピングー さん:
こんにちは。
>ichinoseさん、どうもありがとうございます。
>私の質問の内容が、少し違っておりまして、
>メニューバーではなく、ツールバーで、ひとつのツールバー
>から複数のツールバーを作りたいのです。
二種類、例題コードを記述します。
新規ブックの標準モジュールに
'============================================
Sub main()
On Error Resume Next
bnm = Array("a", "b", "c", "d")
bact = Array("test1", "test2", "test3", "test4")
CommandBars("新規ツールバー").Delete
With CommandBars.Add("新規ツールバー")
.Visible = True
For idx = LBound(bnm) To UBound(bnm)
With .Controls.Add(msoControlButton)
.Caption = bnm(idx)
.OnAction = bact(idx)
.Style = msoButtonCaption
.BeginGroup = True
End With
Next idx
End With
On Error GoTo 0
End Sub
'=======================================================
Sub main2()
On Error Resume Next
Dim popup As CommandBarPopup
bnm = Array("a", "b", "c", "d")
bact = Array("test1", "test2", "test3", "test4")
CommandBars("新規ツールバー").Delete
With CommandBars.Add("新規ツールバー")
.Visible = True
Set popup = .Controls.Add(msoControlPopup)
With popup
.Visible = True
.Caption = "選択して"
For idx = LBound(bnm) To UBound(bnm)
With .Controls.Add(msoControlButton)
.Caption = bnm(idx)
.OnAction = bact(idx)
.Style = msoButtonCaption
.BeginGroup = True
End With
Next idx
End With
End With
On Error GoTo 0
End Sub
'ボタンに登録するマクロtest1〜test4の4つ
'================================================
Sub test1()
MsgBox "test1"
End Sub
Sub test2()
MsgBox "test2"
End Sub
Sub test3()
MsgBox "test3"
End Sub
Sub test4()
MsgBox "test4"
End Sub
mainとmain2を実行してみて下さい。
違う形のツールバーが作成されると思います。
どちらかがご希望のものでしょうか?
|
|