【问题标题】:Textbox in custom toolbar自定义工具栏中的文本框
【发布时间】:2017-02-16 04:19:19
【问题描述】:

是否可以将文本框控件放在 Excel 的自定义工具栏中。我创建了一个显示此工具栏的加载项。我想要做的是当用户在文本框中键入时,加载项应该根据用户键入的内容调用过程或函数。

我想在 MS Excel 的 VBA 中完成。

谢谢。

【问题讨论】:

  • 您使用的是什么版本的 Excel? (功能区 UI 还是命令栏?)

标签: excel ms-office vba


【解决方案1】:

如果您使用 Excel 2007 并已实现 IRibbonExtensibility::GetCustomUI,那么您可以使用以下 XML 在您的插件 GUI 中定义一个编辑框:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="MyTab" label="My Tab">
                <group id="MyGroup" label="My Group">
                    <editBox id="MyEditBox" getText="MyEditBoxCallbackgetText" label="Editbox Label" onChange="MyEditBoxCallbackOnChange"/>
                 </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

【讨论】:

  • 看起来不错。我应该考虑升级到 2007。谢谢。
  • 如果有机会,我可以给你 2003 年的代码,现在走出门去;)
【解决方案2】:

我发现:

Sub test()
    Set myControl = CommandBars("Test").Controls.Add(Type:=msoControlEdit, Before:=1)
    With myControl
        .Caption = "Search"
        .OnAction = "Tester"
    End With
End Sub


Sub Tester()
    MsgBox "I am gonna search for: " & CommandBars("Test").Controls(1).Text
    CommandBars("Test").Controls(1).Text = ""
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2013-08-20
    • 2015-05-02
    相关资源
    最近更新 更多