对于这个演示,您需要 CustomUI Editor 和 Excel(显然)
创建一个新工作簿并将其保存为 AlexExample.xlsm
[A] 打开 VBE,插入一个模块。将此代码粘贴到模块中
Option Explicit
Dim Ribn As IRibbonUI
Public RibnTag As String
Sub RibbonOnLoad(ribbon As IRibbonUI)
Set Ribn = ribbon
End Sub
Sub GetVisible(control As IRibbonControl, ByRef visible)
Select Case RibnTag
Case "ShowTab": visible = True
Case "HideTab": visible = False
End Select
End Sub
Sub ShowMyRibbonTab()
RibnTag = "ShowTab"
If Not Ribn Is Nothing Then
Ribn.Invalidate
Else
MsgBox "Couldn't get the ribbon object. Please close and restart the workbook"
End If
End Sub
Sub HideMyRibbonTab()
RibnTag = "HideTab"
If Not Ribn Is Nothing Then
Ribn.Invalidate
Else
MsgBox "Couldn't get the ribbon object. Please close and restart the workbook"
End If
End Sub
[B]打开 ThisWorkbook 代码区并粘贴此代码
Option Explicit
Private Sub Workbook_Open()
RibnTag = "ShowTab"
End Sub
[C] 转到工作表并创建 2 个按钮(表单控件)。 SHOW 和 HIDE 如下图所示。右键单击按钮并将宏 ShowMyRibbonTab 分配给 SHOW 并将 HideMyRibbonTab 分配给 HIDE
[D] 接下来打开 CustomUI 编辑器并从那里打开 Excel 文件。插入customUI.xml 并将下面的代码粘贴到那里。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI onLoad="RibbonOnLoad"
xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="MyCustomTab" label="AlexsTab" getVisible="GetVisible" tag="AlexsTab" >
</tab>
</tabs>
</ribbon>
</customUI>
保存并关闭文件,您就完成了。
示例文件:https://www.dropbox.com/s/izzbwpcmqtyoibd/AlexExample.xlsm?dl=0