即効テクニック |
下記のようなメニューバーとプルダウンメニューを作成したとします。 ファイル(&F) データ保存(&S) ページ設定(U)... 印刷プレビュー(V) 印刷(P)... Ctrl+P このプルダウンメニューに境界線を入れて、次のようにします。 ファイル(&F) データ保存(&S) ------------------- ページ設定(U)... 印刷プレビュー(V) 印刷(P)... Ctrl+P 境界線を入れるには、BeginGroupプロパティを使用します。 BeginGroupプロパティは、Trueを設定すると、指定したコマンドバーコントロールが、コマンドバーコントロールの新しいグループの始まりになり、境界線が入ります。
Sub Sample() Dim cstBar As CommandBar Dim cstMenu As CommandBarControl On Error Resume Next Application.CommandBars("barNEW").Delete On Error GoTo 0 Application.CommandBars.Add Name:="barNEW", Position:=msoBarTop, _ MenuBar:=True Set cstBar = CommandBars("barNEW") cstBar.Visible = True Set cstMenu = cstBar.Controls.Add(Type:=msoControlPopup) cstMenu.Caption = "ファイル(&F)" With cstMenu .Controls.Add Type:=msoControlButton .Controls(1).Caption = "データ保存(&S)" .Controls(1).OnAction = "MacroXXX" .Controls.Add Type:=msoControlButton, ID:=247 'ページ設定 .Controls(2).BeginGroup = True '<- これが境界線の指定です .Controls.Add Type:=msoControlButton, ID:=109 '印刷プレビュー .Controls.Add Type:=msoControlButton, ID:=4 '印刷 End With End Sub