自定义工具栏中的文本框

时间:2009-04-16 23:59:33

标签: excel-vba ms-office vba excel

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

我想在MS Excel中使用VBA。

感谢。

2 个答案:

答案 0 :(得分:3)

如果您使用的是Excel 2007并且已经实现了IRibbonExtensibility :: GetCustomUI,那么您可以使用以下XML在Addin 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>

答案 1 :(得分:1)

我发现了:

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