Excel 获取功能区控件的名称或Id

Excel 获取功能区控件的名称或Id,excel,vba,Excel,Vba,我的excel中有一个自定义ribbon控件,它是通过第三方c#加载项开发的。如何使用VBA代码触发功能区按钮单击?网络上的许多例子都显示了这一点,但我的第一个问题是我甚至不知道功能区的名称。如何获取我感兴趣的功能区和功能区按钮的名称?简短回答:您不能在Excel中执行此操作 一,。我建议你试试 二,。您可以将excel的扩展名更改为.zip,并在归档文件中查找类似于按钮的XML。(例如,我的文件有按钮“Archivos de Ayuda”) 关于您的第一个问题如何使用VBA代码触发功能区按钮单

我的excel中有一个自定义ribbon控件,它是通过第三方c#加载项开发的。如何使用VBA代码触发功能区按钮单击?网络上的许多例子都显示了这一点,但我的第一个问题是我甚至不知道功能区的名称。如何获取我感兴趣的功能区和功能区按钮的名称?

简短回答:您不能在Excel中执行此操作
一,。我建议你试试
二,。您可以将excel的扩展名更改为.zip,并在归档文件中查找类似于按钮的XML。(例如,我的文件有按钮“Archivos de Ayuda”)


关于您的第一个问题
如何使用VBA代码触发功能区按钮单击?

我在工作簿上使用了以下内容。Open事件在功能区中创建新选项卡,创建带有图标的按钮,并为按钮指定宏。当按下按钮时,它会从我创建的自定义加载项调用sub

Sub RibbonChange()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String  

hFile = FreeFile
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='YOUR LABLE' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + "        <mso:group id='reportGroup' label='YOUR LABLE' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <mso:button id='runReport' label='YOUR LABLE' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor2'      onAction='YOUR SUB NAME'/>" & 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
Sub-RibbonChange()
暗文件一样长
Dim路径为字符串,文件名为字符串,ribbonXML为字符串
hFile=FreeFile
fileName=“Excel.officeUI”
ribbonXML=”“&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”
ribbonXML=Replace(ribbonXML,“”,“”)
打开输出访问写为hFile的路径和文件名
打印#hFile,ribbonXML
封闭式文件
端接头
我在下面找到了这个链接

我进一步阅读了这个链接


在下载部分,我下载了word模板,它有一个VBA程序来读取功能区、选项卡和按钮。它还有一个触发/执行所选按钮的代码。此VBA函数也可用于excel。

谢谢您的帮助。我照你说的做了,但我的丝带没有出现:(