« 動画をエンコードする | メイン | ダブルクリックを検知する »

ツールバーを作成する

ツールバーはcommandbarオブジェクトで設定できます。

下の例では"test"という名前のツールバーを作成します。
ツールバーの構成は以下の通りです。

"test"ツールバーはfileメニューとInfoボタンで構成されています。
さらにFileメニューはOpenボタンとSaveボタンで構成されています。
InfoボタンはInfoメッセージをポップアップします。
Openボタンはエクセルのオープンダイアログを開きます。
Saveボタンはエクセルのセーブダイアログを開きます。

onactionプロパティでボタンが押されたときに動くマクロを指定できます。
コンボボックスやエクセル既存のボタンなども使用できます。
エクセル既存のツールバーの変更も可能です。


Sub ツールバーをつくる()

Dim cb As CommandBar
Dim menu As CommandBarPopup
Dim btn As CommandBarButton

On Error Resume Next
'ツールバーの重複作成エラーを防ぐ
CommandBars("test").Delete
On Error GoTo 0

'ツールバー"test"を作成
Set cb = CommandBars.Add("test", , , True)

'ツールバー"test"に"File"メニューを追加
Set menu = cb.Controls.Add(msoControlPopup)
menu.Caption = "File"

'ツールバー"test"に"Info"ボタンを追加
Set btn = cb.Controls.Add
With btn
.Caption = "Info"
.OnAction = "Info_Click"
.Style = msoButtonCaption
End With

With menu
'"File"メニューに"Open"ボタンを追加
Set btn = .Controls.Add
With btn
.Caption = "Open"
.OnAction = "Open_Click"
.Style = msoButtonCaption
End With
'"File"メニューに"Save"ボタンを追加
Set btn = .Controls.Add
With btn
.Caption = "Save"
.OnAction = "Save_Click"
.Style = msoButtonCaption
End With
End With

'ツールバーを表示させる
cb.Visible = True

End Sub


Sub Info_Click()
MsgBox "Infomation"
End Sub


Sub Open_Click()
Application.Dialogs(xlDialogOpen).Show
End Sub


Sub Save_Click()
Application.Dialogs(xlDialogSaveAs).Show
End Sub



Set btn = cb.Controls.Add
With btn
.Caption = "Info"
.OnAction = "Info_Click"
.Style = msoButtonCaption
End With

ここの部分は、こんな風に簡略化できます。

With cb.Controls.Add
.Caption = "Info"
.OnAction = "Info_Click"
.Style = msoButtonCaption
End With

このようにすると、冒頭のDim btn As CommandBarButtonが不要となります。

ひとつ前の投稿は「動画をエンコードする」です。
次の投稿は「ダブルクリックを検知する」です。

トラックバック

このエントリーのトラックバックURL:
http://www.xillion.net/mova/mt-tb.cgi/78

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2004年01月24日 00:00に投稿されたエントリーのページです。

メインページアーカイブページも見てください。

Powered by
Movable Type 3.34