Excel 2016 用户窗体文本框属性
Exel 2016 Userform Textbox Properties
我遇到了用户窗体文本框属性的问题。我正在尝试编写一个简单的 sub 来在文本框被禁用时将其颜色更改为灰色。我尝试编写的代码(适用于 Excel 之外的其他 VB 表单)是:
Private Sub ColorTxtBoxDisable(txtSel As TextBox)
txtSel.BackColor = Color.Gray
End Sub
其中 txtSel 是接受文本框控件名称的参数。但是,将 variable/argument 声明为文本框会带来一组完全不同的可通过代码使用的属性,Backcolor 不是其中之一。我在其他 VB 表单中像这样更改文本框属性没有遇到任何问题,但 Excel 不想合作。如有任何想法,我们将不胜感激。
txtSel
是接受 TextBox
控制的参数。不是它的名字。它是一个对象引用,其中 TextBox
是在包含 TextBox
类型的任何第一个引用类型库中定义的类型,因为它是不合格的。由于 Excel 是宿主应用程序,它优先于 MSForms 类型库,后者定义了您要使用的 TextBox
控件。因此,VBA 将 TextBox
解析为 Excel.TextBox
,而这不是您要查找的文本框。
The VBA standard library and the host application object model library can't be moved down or un-referenced.
用它来自的库来限定类型。并在您使用它时传递它 ByVal
,因为没有理由(隐含地)在这里传递它 ByRef
。
Private Sub ColorTxtBoxDisable(ByVal txtSel As MSForms.TextBox)
我遇到了用户窗体文本框属性的问题。我正在尝试编写一个简单的 sub 来在文本框被禁用时将其颜色更改为灰色。我尝试编写的代码(适用于 Excel 之外的其他 VB 表单)是:
Private Sub ColorTxtBoxDisable(txtSel As TextBox)
txtSel.BackColor = Color.Gray
End Sub
其中 txtSel 是接受文本框控件名称的参数。但是,将 variable/argument 声明为文本框会带来一组完全不同的可通过代码使用的属性,Backcolor 不是其中之一。我在其他 VB 表单中像这样更改文本框属性没有遇到任何问题,但 Excel 不想合作。如有任何想法,我们将不胜感激。
txtSel
是接受 TextBox
控制的参数。不是它的名字。它是一个对象引用,其中 TextBox
是在包含 TextBox
类型的任何第一个引用类型库中定义的类型,因为它是不合格的。由于 Excel 是宿主应用程序,它优先于 MSForms 类型库,后者定义了您要使用的 TextBox
控件。因此,VBA 将 TextBox
解析为 Excel.TextBox
,而这不是您要查找的文本框。
The VBA standard library and the host application object model library can't be moved down or un-referenced.
用它来自的库来限定类型。并在您使用它时传递它 ByVal
,因为没有理由(隐含地)在这里传递它 ByRef
。
Private Sub ColorTxtBoxDisable(ByVal txtSel As MSForms.TextBox)