我有一个以 ComboBox 作为第一项的用户窗体。
我的所有组合框都在输入事件上展开。
但是,由于我是第一次使用组合框,因此当用户窗体初始化并显示时,下拉选择会在随机位置展开。
我确定它会正确扩展,但是,当用户窗体居中时,下拉列表会被遗忘在适当的位置。
下面是我用来展开下拉列表的内容。 我知道添加 SendKeys 是一种矫枉过正,但我发现在其他项目中仅使用 DropDown 命令并不总是有效,所以我也使用 SendKeys 命令作为故障保险。
Private Sub ComboBox1_Enter()
ComboBox1.DropDown
SendKeys "%{DOWN}"
End Sub
使用上面的代码,存在下拉菜单在随机位置展开的错误。
我实际上是通过在 DropDown 命令之前为 ESC 设置另一个 SendKey 命令来让它工作的。 它可以工作,但是当 UserFrom 初始化时,它会在后台返回一个令人讨厌的音调。 我知道这与在窗口可能尚未准备好时发生的 SendKey 命令有关。不确定。
非常感谢任何帮助。返回的音调不会影响任何功能,但知道它发生很烦人,我想修复它。
我还要补充一点,我是一个完全的新手,但有一种理解可以让我将研究中的代码拼凑起来使事情正常进行。
Private Sub ComboBox1_Enter()
SendKeys "%ESC"
ComboBox1.DropDown
SendKeys "%{DOWN}"
End Sub
我也试过调用宏
Private Sub ComboBox1_Enter()
Wait
SendKeys "%ESC"
ComboBox1.DropDown
SendKeys "%{DOWN}"
End Sub
Public Sub Wait()
CreateObject("Excel.Application").Wait (Now + TimeValue("00:00:01"))
End Sub
但我仍然听到提示音。