Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 自定义功能区中的文本值_Excel_Vba_Ribbon - Fatal编程技术网

Excel 自定义功能区中的文本值

Excel 自定义功能区中的文本值,excel,vba,ribbon,Excel,Vba,Ribbon,我使用VBA(而不是自定义UI编辑器)创建了一个自定义功能区,我需要一个简单的静态文本来显示单元格A1的值,但我找不到用于此的XML代码。这就是我所拥有的: Sub LoadCustRibbon() Dim hFile As Long Dim path As String, fileName As String, ribbonXML As String, user As String hFile = FreeFile user = Environ("Username") path = "C:

我使用VBA(而不是自定义UI编辑器)创建了一个自定义功能区,我需要一个简单的静态文本来显示单元格A1的值,但我找不到用于此的XML代码。这就是我所拥有的:

Sub LoadCustRibbon()

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 = ribbonXML + "<mso:ribbon startFromScratch='true' />" & vbNewLine

ribbonXML = "<customUI      xmlns='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + "   <ribbon startFromScratch = 'true'>" & vbNewLine
ribbonXML = ribbonXML + "    <qat/>" & vbNewLine
ribbonXML = ribbonXML + "    <tabs>" & vbNewLine


ribbonXML = ribbonXML + "      <tab id='Menu' label='Menu' insertBeforeQ='mso:TabFormat'>" & vbNewLine
'grupo geral
ribbonXML = ribbonXML + "        <group id='geral' label='Geral' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <button id='capa' label='Capa' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='RmsNavigationBarHome'      onAction='Capa1'/>" & vbNewLine


ribbonXML = ribbonXML + "          <button id='resumo' label='Resumo' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='ChartChangeType'      onAction='resumo1'/>" & vbNewLine
ribbonXML = ribbonXML + "        </group>" & vbNewLine
'grupo performance

ribbonXML = ribbonXML + "        <group id='performance' label='Performance' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <button id='prom' label='Prom' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='CopyToPersonalContacts'      onAction='prom1'/>" & vbNewLine

ribbonXML = ribbonXML + "          <button id='super' label='Super' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='WorkgroupAdmin'      onAction='super1'/>" & vbNewLine

ribbonXML = ribbonXML + "          <button id='ranking' label='Ranking' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='Numbering'      onAction='ranking1'/>" & vbNewLine

ribbonXML = ribbonXML + "        </group>" & vbNewLine


'Cliente
ribbonXML = ribbonXML + "        <group id='cliente' label='Cliente' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <button id='Responsible' label='Responsible' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='OrganizationChartInsert'      onAction='responsavel1'/>" & vbNewLine

ribbonXML = ribbonXML + "          <button id='des' label='Des' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='GroupJunkEmail'      onAction='des1'/>" & vbNewLine
ribbonXML = ribbonXML + "        </group>" & vbNewLine

'relatorios novo
ribbonXML = ribbonXML + "        <group id='relatorios1' label='Relatorios' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <button id='an' label='An' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='TrustCenter'      onAction='historico1'/>" & vbNewLine

ribbonXML = ribbonXML + "          <button id='causas' label='Causas' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='GroupContactOptions'      onAction='causas1'/>" & vbNewLine

ribbonXML = ribbonXML + "          <button id='reenvios' label='Reenvios' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='ProposeNewTime'      onAction='reenvios1'/>" & vbNewLine

ribbonXML = ribbonXML + "        </group>" & vbNewLine


'reenvios
'ribbonXML = ribbonXML + "        <group id='reenvios' label='Reenvios' autoScale='true'>" & vbNewLine
'ribbonXML = ribbonXML + "          <button id='reenvios' label='Reenvios' " & vbNewLine
'ribbonXML = ribbonXML + "imageMso='AppointmentColor8'      onAction='reenvios1'/>" & vbNewLine
'
'ribbonXML = ribbonXML + "        </group>" & vbNewLine



ribbonXML = ribbonXML + "      </tab>" & vbNewLine
'ribbonXML = ribbonXML + "    <tab mso:tab label ='Inserir' visible='false'>"
ribbonXML = ribbonXML + "    </tabs>" & vbNewLine

ribbonXML = ribbonXML + "  </ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</customUI>"

ribbonXML = Replace(ribbonXML, """", "")

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub
Sub-LoadCustRibbon()
暗文件一样长
Dim路径为字符串,文件名为字符串,ribbonXML为字符串,用户为字符串
hFile=FreeFile
用户=环境(“用户名”)
path=“C:\Users\”&user&“\AppData\Local\Microsoft\Office\”
fileName=“Excel.officeUI”
“ribbonXML=ribbonXML+”“&vbNewLine
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
“grupo性能
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+“”&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=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”&vbNewLine
ribbonXML=ribbonXML+“”
ribbonXML=Replace(ribbonXML,“”,“”)
打开输出访问写为hFile的路径和文件名
打印#hFile,ribbonXML
封闭式文件
端接头

所有按钮都工作正常,我发现许多代码显示了如何添加可编辑框,但没有一个代码显示了显示单元格值的简单静态框。

您需要一个带有VBA函数回调的editBox控件或labelControl,就像示例中的onAction事件一样

但我无法让您的示例代码正常工作,因此这是一个通用示例。如果需要labelControl,则使用相同的
getText
-sub,但XML代码不同

XML

<editBox id="txt1" getText="GetText" getEnabled="GetEnabled' />
<labelControl id="lbl1" getLabel="GetText" />
'***** Callback for txt1 getText
Sub GetText(control As IRibbonControl, ByRef returnedVal)
    '***** Return the value in cell A1 in sheet #1 in the workbook that holds the code
    returnedVal = ThisWorkbook.Sheets(1).Cells(1, 1).Value
End Sub

'***** Callback for txt1 getEnabled
Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)
    '***** Return wheter you want the editBox to be enabled or not
    returnedVal = True
End Sub