即効テクニック |
新しいツールバーを追加するには、CommandBarsコレクションのAddメソッドを実行します。 次のコードは、新しいツールバーを追加して、ダミーのボタンを配置します。Sub Sample1() Dim myBar As CommandBar, i As Long Set myBar = CommandBars.Add ''新しいツールバーを作成します For i = 1 To 3 myBar.Controls.Add ID:=i + 1 ''ダミーのボタンを追加します Next i myBar.Visible = True End Sub追加したツールバーは、VisibleプロパティにTrueを設定することで表示されます。 上記のように追加したツールバーは、シート上にフローティング状態で表示されます。 ツールバーは画面の四辺にドッキングさせることも可能です。 ツールバーの位置を指定するには、Positionプロパティに表示する位置を指定します。 次のコードは、新しいツールバーを追加して、画面の左端にドッキングさせます。Sub Sample2() Dim myBar As CommandBar, i As Long Set myBar = CommandBars.Add ''新しいツールバーを作成します For i = 1 To 3 myBar.Controls.Add ID:=i + 1 ''ダミーのボタンを追加します Next i With myBar .Position = msoBarLeft ''ツールバーを左に表示します .Visible = True End With End SubPositionプロパティに指定できる定数は次の通りです。 定数 値 位置 msoBarLeft 0 左 msoBarTop 1 上 msoBarRight 2 右 msoBarBottom 3 下 msoBarFloting 4 フローティング フローティング状態のツールバーは、タイトルバーをドラッグして表示位置を移動したり、ツールバーの周囲をドラッグして形状を変化させることができます。 そうしたユーザーの操作を制限したいときは、Protectionプロパティを使います。 次のコードは、新しいフローティング状態のツールバーを作り、移動できなくします。Sub Sample3() Dim myBar As CommandBar, i As Long Set myBar = CommandBars.Add ''新しいツールバーを作成します For i = 1 To 3 myBar.Controls.Add ID:=i + 1 ''ダミーのボタンを追加します Next i With myBar .Position = msoBarFloating ''フローティングにします .Protection = msoBarNoMove ''移動を禁止します .Visible = True End With End SubProtectionプロパティには次の定数を指定できます。 定数 値 制限 msoBarNoProtection 0 保護しない msoBarNoCustomize 1 ユーザー設定しない msoBarNoResize 2 サイズ変更しない msoBarNoMove 4 移動しない msoBarNoChangeVisible 8 非表示にしない msoBarNoChangeDock 16 フリーにしない msoBarNoVerticalDock 32 垂直に固定しない msoBarNoHorizontalDock 64 水平に固定しない