VBA代码更改运行宏上的多个功能区按钮的标签



我使用这里提供的电子表格创建了一个功能区,它工作得很好,只要它是关于为按钮分配宏。但是,我想在一组选项卡中包含配置详细信息,使其始终可见,而不消耗excel表的房地产。这是将来状态:在自定义选项卡

中分组

我有一个小宏来选择环境和识别图像中显示的各个字段的值。下面是代码的样子:

Sub Change_Configuration() 
    Dim ConfigButton As Object 
    Dim Labeling As String 
     'SelectEnvironment.Show
    Environment = "PROD" 
    If Environment = "QAS" Then 

        SourceSystem = "ABC" 
        TargetSystem = "DEF" 
        SourceSchema = "EFG" 
        TargetSchema = "GHI" 
    ElseIf Environment = "PROD" Then 
        SourceSystem = "IJK" 
        TargetSystem = "JKL" 
        SourceSchema = "LMN" 
        TargetSchema = "NOP" 
    End If 
    GetLabel ConfigButton, Labeling 'I do not know what to do here
End Sub 

我知道Get Label是这样做的,但我只是没有任何线索,如何实现我想要实现的。当我打开excel文件并正确填充默认值(IF部分)时,我当前的GetLabel回调工作正常。我试图包括"Else"部分来更新标签,但它只是不起作用。

原始代码:

Sub GetLabel(ByVal control As IRibbonControl, ByRef Labeling)
    Select Case control.ID
      Case "CustomTab": Labeling = "TEST_RIBBON"
      Case "GroupE": Labeling = "Configuration Details"
      Case "eButton01": Labeling = "Change Environment"
      Case "eButton02": Labeling = "Selected Environment" & " - " & "QAS"
      Case "eButton03": Labeling = "Source System" & " - " & "ABC"
      Case "eButton04": Labeling = "Source Schema" & " - " & "DEF"
      Case "eButton05": Labeling = "Target System" & " - " & "GHI"
      Case "eButton06": Labeling = "Target Schema" & " - " & "IJK"
    End Select
 End Sub

当我打开excel时,所有的标签都有上面定义的值。

下面是修改后的代码(根据Change_Configuration宏修改标签的努力失败了)。请注意,当打开工作簿并正确显示值时,修改后的代码也不会抛出任何错误。

Sub GetLabel(ByVal control As IRibbonControl, ByRef Labeling) 

    If Environment = vbNullString Then 

        Select Case control.ID 
        Case "CustomTab": Labeling = "My Tab" 

        Case "GroupE": Labeling = "Configuration Details" 
        Case "eButton01": Labeling = "Change Environment" 
        Case "eButton02": Labeling = "Selected Environment" & " - " & "QAS" 
        Case "eButton03": Labeling = "Source System" & " - " & "ABC" 
        Case "eButton04": Labeling = "Source Schema" & " - " & "DEF" 
        Case "eButton05": Labeling = "Target System" & " - " & "EFG" 
        Case "eButton06": Labeling = "Target Schema" & " - " & "GHI" 
        End Select 
    Else 
        Select Case ConfigButton 
        Case "eButton02": Labeling = "Selected Environment" & " - " & Environment 
        Case "eButton03": Labeling = "Source System" & " - " & SourceSystem 
        Case "eButton04": Labeling = "Source Schema" & " - " & SourceSchema 
        Case "eButton05": Labeling = "Target System" & " - " & TargetSystem 
        Case "eButton06": Labeling = "Target Schema" & " - " & TargetSchema 
        End Select 
    End If 
End Sub 

非常感谢你的帮助。

-Jevich

解决了-必须在调整XML后为Ribbon包含onload回调,然后无效函数

相关代码太少,无法确保帮助您完成

但是试着改变:

Select Case ConfigButton

:

Select Case control.ID

最新更新