2009-02-27 6 views

答えて

7

これは完全に異なるインターフェースを持つ 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 
+2

これはO2007でも機能しますか?作成されたツールバーは「アドインズ」リボンになっていますか? –

+0

さて、はい。しかし、それは本当に恐ろしいように見えます。弾丸を噛んで、RibbonXを学ぶのが良いですが、それは過度に複雑です。 –

+0

すでにパラメータとして渡されているテキストを表示するには、 'Btn.Style = msoButtonIconAndCaption'と' Btn.Caption = caption'を設定します。 – benjineer

関連する問題