VBA删除自定义加载项选项卡
我从Stack Overflow中找到了代码,该代码允许我通过将xlam文件作为加载项上载来添加自定义选项卡,请参见下面的代码。不幸的是,当我从“开发人员”选项卡取消选择外接程序时,“停用”部分没有从功能区中删除“自定义”选项卡 我看到过一些示例,其中可以通过GetVisible隐藏选项卡,但我不知道如何将其与下面的代码结合起来。我还没有发现任何更简单的操作,可以在从“开发人员”选项卡中取消选择外接程序时标识和删除该选项卡VBA删除自定义加载项选项卡,vba,ribbon,office-addins,Vba,Ribbon,Office Addins,我从Stack Overflow中找到了代码,该代码允许我通过将xlam文件作为加载项上载来添加自定义选项卡,请参见下面的代码。不幸的是,当我从“开发人员”选项卡取消选择外接程序时,“停用”部分没有从功能区中删除“自定义”选项卡 我看到过一些示例,其中可以通过GetVisible隐藏选项卡,但我不知道如何将其与下面的代码结合起来。我还没有发现任何更简单的操作,可以在从“开发人员”选项卡中取消选择外接程序时标识和删除该选项卡 Private Sub Workbook_Open() Dim
Private Sub Workbook_Open()
Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String
hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"
ribbonXML = "<mso:customUI xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + " <mso:qat/>" & vbNewLine
ribbonXML = ribbonXML + " <mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + " <mso:tab id='reportTab' label='Misc' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:group id='reportGroup' label='Source Sheet' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:button id='runReport' label='Create Sheet' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor3' onAction='CreateSheet'/>" & vbNewLine
ribbonXML = ribbonXML + " </mso:group>" & vbNewLine
ribbonXML = ribbonXML + " <mso:group id='Group2' label='Formatting' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:button id='FormatButtons' label='Format Selection' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor3' onAction='Test2'/>" & vbNewLine
ribbonXML = ribbonXML + " </mso:group>" & vbNewLine
ribbonXML = ribbonXML + " </mso:tab>" & vbNewLine
ribbonXML = ribbonXML + " </mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + " </mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</mso:customUI>"
ribbonXML = Replace(ribbonXML, """", "")
Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile
End Sub
但我不知道如何将它与下面的代码结合起来——使用回调过程,就像OnAction一样。谢谢Mathieu的回复。你能用代码告诉我怎么做吗?理想情况下,我希望在从“开发人员”选项卡取消选择自定义选项卡时将其从功能区中删除。非常感谢!
Private Sub Workbook_Deactivate()
Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String
hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"
ribbonXML = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
"<mso:ribbon></mso:ribbon></mso:customUI>"
Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile
End Sub