概要 - ツールバーに新しいツールバー ボタンを追加する(VBA/ActiveX)

ツールバーに新しいツールバー ボタンを追加するには、AddToolbarButton メソッドを使用します。このメソッドは新しい ToolbarItem オブジェクトを作成し、指定されたツールバーに追加します。

ツールバーが表示されているときに、ツールバーにボタンを追加するだけです。

AddToolbarButton メソッドは入力として、IndexNameHelpStringMacroFlyoutButton という 5 つのパラメータを受け取ります。

Index
Index パラメータは、ツールバー内における新しい Toolbar 項目の位置を指定する整数です。インデックスは、タイトルに続くツールバーの先頭位置として、位置ゼロ(0)から始まります。ツールバーの最後に新しいツールバー ボタンを追加するには、Index パラメータにツールバーの Count プロパティと同じ値を指定します(ツールバーの Count プロパティはそのツールバーのツールバー ボタンの合計数を表します。)

ツールバー ボタンを作成した後で、Index プロパティを使ってボタンのインデックスを変更することはできません。既存のツールバー ボタンのインデックスを変更するには、ツールバー ボタンを削除して別の位置に追加し直すか、目的の配置になるまで周囲のツールバー ボタンの追加や削除を行います。

Name
名前はツールバー ボタンを識別する文字列です。この文字列は、英数字、ダッシュ(-)、アンダースコア(_)で構成されていなければなりません。これら以外の句読点を使用することはできません。この文字列は、カーソルをツールバー ボタンの上に置いたときにツールチップとして表示されます。

ツールバー ボタンを作成した後で、Name パラメータを使って名前を変更することができます。

HelpString
ヘルプ文字列は、ユーザがメニュー項目をハイライト表示して選択するときに、AutoCAD ステータス行に表示される文字列です。

ツールバー ボタンを作成した後で、HelpString パラメータを使ってボタンのヘルプ文字列を変更することができます。

Macro
マクロは、ツールバー ボタンが選択されたときに特定のアクションを実行する一連のコマンドです。ツールバー マクロには、タスクを実行するキーストロークを列挙しただけのものもあれば、コマンド、AutoLISP、DIESEL、または ActiveX プログラミング コードを複雑に組み合わせたものもあります。

ツールバー ボタンを作成した後で、Macro パラメータを使ってボタンのマクロを変更することができます。

FlyoutButton
FlyoutButton パラメータは、新しいボタンをフライアウト ボタンにするかどうかを決めるオプション フラグです。新しいボタンをフライアウト ボタンにする場合は、このパラメータを TRUE に設定する必要があります。新しいボタンをフライアウト ボタンにしない場合は、このパラメータを FALSE に設定するか、このパラメータ自体を無視します。

新しいツールバーにボタンを追加する

以下の例は、新しいツールバーを作成し、作成したツールバーにボタンを追加します。ボタンには、選択されたときに OPEN[開く]コマンドを実行するマクロが割り当てられます。

Sub Ch6_AddButton()
 Dim currMenuGroup As AcadMenuGroup
 Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)

 ' Create the new toolbar
 Dim newToolbar As AcadToolbar
 Set newToolbar = currMenuGroup.Toolbars.Add("TestToolbar")

 ' Add a button to the new toolbar
 Dim newButton As AcadToolbarItem
 Dim openMacro As String

 ' Assign the macro the VB equivalent of "ESC ESC _open "
 openMacro = Chr(3) + Chr(3) + "_open "
 Set newButton = newToolbar.AddToolbarButton _
 ("", "NewButton", "Open a file.", openMacro)
End Sub