Excelにツールバー(ボタン付き)をプログラムで追加する方法 (2002以降)?Excelにツールバーボタン(およびOnClickハンドラ)をプログラムで追加する方法
ボタンをクリックすると、私のCOM オブジェクトを作成してメソッドを呼び出すハンドラが必要ですか?
Excelにツールバー(ボタン付き)をプログラムで追加する方法 (2002以降)?Excelにツールバーボタン(およびOnClickハンドラ)をプログラムで追加する方法
ボタンをクリックすると、私のCOM オブジェクトを作成してメソッドを呼び出すハンドラが必要ですか?
write an Excel add-in that creates a toolbar with your button and COM-calling codeとし、作成した.xlaファイルをユーザーのXLStart folderにドロップします。
これは完全に異なるインターフェースを持つ Excel 2007では、バージョンを含むまでではなく、上で動作するはずです何かのための基礎です。
これはあなたはThisWorkbookモジュールに行く:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteCommandBar
End Sub
Private Sub Workbook_Open()
ShowToolbar
End Sub
そして、私はそれをより見やすくすることができ、独自のモジュールにそれを置くことを好むが、これは、あなたの選択、同じモジュールまたは別々のいずれかに行くことができます。 OnClickは必要ありません。ボタンを作成するときに呼び出すルーチンがボタンに表示されます。
Private Const TOOLBARNAME = "MyFunkyNewToolbar"
Public Sub ShowToolbar()
' Assumes toolbar not already loaded '
Application.CommandBars.Add TOOLBARNAME
AddButton "Button caption", "This is a tooltip", 526, "NameOfASubInYourVBACode"
' call AddButton more times for more buttons '
With Application.CommandBars(TOOLBARNAME)
.Visible = True
.Position = msoBarTop
End With
End Sub
Private Sub AddButton(caption As String, tooltip As String, faceId as Long, methodName As String)
Dim Btn As CommandBarButton
Set Btn = Application.CommandBars(TOOLBARNAME).Controls.Add
With Btn
.Style = msoButtonIcon
.FaceId = faceId ' choose from a world of possible images in Excel: see http://www.ozgrid.com/forum/showthread.php?t=39992 '
.OnAction = methodName
.TooltipText = tooltip
End With
End Sub
Public Sub DeleteCommandBar()
Application.CommandBars(TOOLBARNAME).Delete
End Sub
これはO2007でも機能しますか?作成されたツールバーは「アドインズ」リボンになっていますか? –
さて、はい。しかし、それは本当に恐ろしいように見えます。弾丸を噛んで、RibbonXを学ぶのが良いですが、それは過度に複雑です。 –
すでにパラメータとして渡されているテキストを表示するには、 'Btn.Style = msoButtonIconAndCaption'と' Btn.Caption = caption'を設定します。 – benjineer