更新用户窗体框架中的用户窗体文本框
Updating userform textboxes in userform frames
我正在尝试在 VBA 文本框中创建一个系统来修改输入。
文本框和其他选项位于可以打开和关闭的框架中。已完成以保持表单对其他人可读。
我知道这可以通过仅在代码中编辑字符串来完成(并且这样做是为了继续在项目上工作)但我希望人们看到代码所做的编辑。
这些更新不一致。我有两个文本框,它们使用相同的代码行进行自我编辑,并且它们都设置为在退出文本框后自行更新。一个仅在其所在框架内的某些内容再次被点击时才会更新,而另一个无论是在其框架内还是在框架外都根本不更新。
理想情况下,当文本框被编辑并且其他内容被点击时,文本框就会更新。
更新
只有在单击或选中框架中的另一个复选框之类的其他内容时才会更新自身,然后在单击框架外部时它也会起作用。有谁知道为什么?
两者的代码
Private Sub Pathbox_Change()
End Sub
Private Sub Pathbox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim sDir As String
sDir = S5Int.Pathbox.Text
If Right(sDir, 1) <> "\" Then
S5Int.Pathbox.Text = sDir & "\"
End If
End Sub
除了过程名称外,两者的代码相同。除了名称不同,框架也相同。在表格中,它们看起来像这样:
带文本框的表单
元素的设置也一样
上周找到了解决方案;
只要单击表单本身,我就会将更新触发器放在表单本身上,它会运行检查以查看需要更新和更新的内容;它有点粗糙,但效果很好。如果单击表单以外的其他内容,则此解决方案将不起作用,但对于 Textbox1_Exit(etc) 也不起作用。因为它只在表单位于最前面时更新表单。
这也有点浪费周期,因为每次单击表单上的任何内容时它都会运行,但只要检查有效,它就足够了。
我会继续研究更好的解决方案,但是当我有时间时,也许看看我是否可以像 FaneDuru 所说的那样退出框架,但表格上的其他内容似乎暂时阻止了该解决方案。
我正在尝试在 VBA 文本框中创建一个系统来修改输入。
文本框和其他选项位于可以打开和关闭的框架中。已完成以保持表单对其他人可读。
我知道这可以通过仅在代码中编辑字符串来完成(并且这样做是为了继续在项目上工作)但我希望人们看到代码所做的编辑。
这些更新不一致。我有两个文本框,它们使用相同的代码行进行自我编辑,并且它们都设置为在退出文本框后自行更新。一个仅在其所在框架内的某些内容再次被点击时才会更新,而另一个无论是在其框架内还是在框架外都根本不更新。
理想情况下,当文本框被编辑并且其他内容被点击时,文本框就会更新。
更新
只有在单击或选中框架中的另一个复选框之类的其他内容时才会更新自身,然后在单击框架外部时它也会起作用。有谁知道为什么?
两者的代码
Private Sub Pathbox_Change()
End Sub
Private Sub Pathbox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim sDir As String
sDir = S5Int.Pathbox.Text
If Right(sDir, 1) <> "\" Then
S5Int.Pathbox.Text = sDir & "\"
End If
End Sub
除了过程名称外,两者的代码相同。除了名称不同,框架也相同。在表格中,它们看起来像这样:
带文本框的表单
元素的设置也一样
上周找到了解决方案;
只要单击表单本身,我就会将更新触发器放在表单本身上,它会运行检查以查看需要更新和更新的内容;它有点粗糙,但效果很好。如果单击表单以外的其他内容,则此解决方案将不起作用,但对于 Textbox1_Exit(etc) 也不起作用。因为它只在表单位于最前面时更新表单。
这也有点浪费周期,因为每次单击表单上的任何内容时它都会运行,但只要检查有效,它就足够了。
我会继续研究更好的解决方案,但是当我有时间时,也许看看我是否可以像 FaneDuru 所说的那样退出框架,但表格上的其他内容似乎暂时阻止了该解决方案。