首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取功能区控件的名称或Id

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

Stack Overflow用户
提问于 2016-06-23 01:13:07
回答 3查看 6.1K关注 0票数 4

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

EN

回答 3

Stack Overflow用户

发布于 2016-06-23 21:04:47

我在链接How to get Ribbon custom Tabs IDs?下面找到了这个

我进一步阅读到了这个链接

http://www.wordarticles.com/Shorts/RibbonVBA/RibbonVBADemo.php

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

票数 5
EN

Stack Overflow用户

发布于 2016-06-23 02:01:59

简短回答:你不能在Excel中这样做

  1. ,我建议你试试CustomUIEditor
  2. ,你可以把excel的扩展名改为.zip,然后在归档文件中查找一些类似按钮的XML。(例如,我的文件中有"Archivos de Ayuda“按钮)

票数 2
EN

Stack Overflow用户

发布于 2016-06-23 04:31:34

对于您的第一个问题,How do I trigger a ribbon button click using VBA code?

我在Workbook.Open事件上使用了以下代码,该事件在功能区中创建新选项卡,创建带有图标的按钮,并为该按钮指定一个宏。当按下按钮时,它会调用我创建的自定义AddIn中的sub。

代码语言:javascript
运行
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37974447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档