gpt4 book ai didi

vba - VBA 用户窗体文件选择的省略号文本框

转载 作者:行者123 更新时间:2023-12-02 08:17:58 25 4
gpt4 key购买 nike

我正在尝试为我一直在开发的广泛 VBA 程序创建路径选择用户界面,但我似乎无法获得我想要的省略号文本框。这是一个非常常见的功能,尤其是在选项表中。这是我想直接从 VBA 选项面板获得的示例:

ellipsis_textbox_example

我很想找到一种在用户表单中获得相同功能的方法。到目前为止,我找到的唯一解决方案是使用启用了省略号箭头选项的组合框。但是,似乎没有一种明显的方法可以使用组合框箭头的激活来运行对话框,也似乎没有一种方法可以使其看起来不像组合框。最后的手段我使用文本框下方的按钮,但我真的更喜欢一种不太笨重的方法。

任何解决方案将不胜感激。

最佳答案

The only solution that I've found thus far is to use a combo box with the ellipsis arrow option enabled. However, there doesn't seem to be an apparent way to use the activation of the combo box arrow to run a dialog box, nor does there seem to be a way to make it look UNLIKE a combo box

您的建议确实有效,而且它肯定比让两个控件一起工作按钮+文本框更简单、更优雅。

Combo 可以通过以下方式完美地实现所需的功能。

1)在设计模式下,将按钮样式设置为省略号

         DropButtonStyle = fmDropButtonStyleEllipsis

最终,通过设置设计时属性,仅在输入组合时显示省略号:

         ShowDropButtonWhen = ShowDropButtonWhenFocus

2) 如果需要,您可以设置其他设计时属性以获得一些外观。不过,默认值看起来相当不错。

3) 将以下处理程序添加到父用户窗体。该代码片段模拟启动对话框并获取新值或取消。它不显示任何下拉窗口。 (但你仍然可以控制它:如果你想根据某些条件显示它,你仍然可以调用方法ComboBox1.DropDown)

Private Sub ComboBox1_DropButtonClick()
' The following two lines avoid to call the routine twice, at entry and at exit
Static i As Integer
i = (i + 1) Mod 2: If i = 0 Then Exit Sub

With ComboBox1
s = InputBox("enter some text", , .Value) '<~~ simulates any dialog
If s <> "" Then .Value = s
SendKeys ("{Enter}") '<~~ to close immediately the dropdown window
End With
End Sub

尝试一下;)

关于vba - VBA 用户窗体文件选择的省略号文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33899590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com