2011-10-27 1 views
1

매크로에서 도구 모음에있는 명령에 액세스하고 있습니다.VS2010의 매크로에서 도구 모음의 명령 캡션을 변경하는 방법?

Dim name As String = "Macros.MyMacros.MyMacros.ToggleExceptions" 
Dim cmd As EnvDTE.Command = DTE.Commands.Item(name) 

이제 도구 모음에서 명령의 캡션을 어떻게 변경합니까? 필요한 속성이없는 것 같습니다. 그것을 다른 것에 던질 필요가 있습니까?

+0

. DTE.CommandBars는 출발점이 될 것이라고 생각합니다. –

답변

3

:

매크로 실제로 도구 모음의 명령에 액세스하지 않는
Private Sub Main() 
    Const BAR_NAME As String = "MenuBar" 
    Const CTL_NAME = "Foo" 

    ChangeCommandCaption(BAR_NAME, CTL_NAME, "Bar") 
End Sub 

Private Sub ChangeCommandCaption(ByVal cmdBarName As String, ByVal ctlName As String, ByVal caption As String) 
    Dim bars As Microsoft.VisualStudio.CommandBars.CommandBars 

    bars = DirectCast(DTE.CommandBars, Microsoft.VisualStudio.CommandBars.CommandBars) 
    If bars Is DBNull.Value Then Exit Sub 

    Dim menuBar As CommandBar = bars.Item(cmdBarName) 
    If menuBar Is DBNull.Value Then Exit Sub 

    Dim cmdBarCtl As CommandBarControl 

    Try 
     cmdBarCtl = menuBar.Controls.Item(ctlName) 
     If cmdBarCtl Is DBNull.Value Then Exit Sub 
    Catch ex As Exception 
     Exit Sub 
    End Try 

    cmdBarCtl.Caption = caption 
End Sub 
관련 문제