尝试编辑名为lblsearchreminder
的表单控件标签的文本,并确保字体为Arial且大小为20。我正在从ActiveX文本框1中提取已编辑的文本,并尝试使其标题为标签。如果有人有任何见识,我将不胜感激。
Sub btnAltCustomSearch_Click()
Dim strTextBox As String
If Worksheets("User Interface").OLEObjects("TextBox1").Object.Value = "" Then
ErrorX.Show
Else
strTextBox = Worksheets("User Interface").OLEObjects("TextBox1").Object.Value
Worksheets("Muscle Wasting Database").Shapes("lblsearchreminder") = vbCrLf & "Disease: All" & vbCrLf & vbCrLf & "Keyword: " & strTextBox
lblsearchreminder.Object.Characters.Text = "Arial"
lblsearchreminder.Object.Font.Size = 20
End If
End Sub
答案 0 :(得分:2)
是的,textbox1是一个ActiveX文本框控件,但理想情况下,我将使用“表单控件”标签。因此,我试图从ActiveX文本框中提取输入内容,并在 Form Control标签 – Thor Nagel 3小时前
中使用它
不幸的是,您无法操纵表单控件标签的字体大小/名称,颜色或样式。如果您注意到Excel功能区上的“字体”组中的格式设置项目已“显示为灰色”。
设置文本很容易
let apollo = require('apollo-server').ApolloMiddleware
app.use( '/graphql', apollo({ typeDefs, resolvers }) );
但是您不能这样做(即使Intellisense允许)
Dim lblsearchreminder As Shape
Set lblsearchreminder = Sheet1.Shapes("Label 1")
lblsearchreminder.TextFrame.Characters.Text = "Hello"
或
lblsearchreminder.TextFrame.Characters.Font.Name = "Arial"
我建议改用lblsearchreminder.TextFrame2.TextRange.Characters.Font.Name = "Arial"
形状或TextBox
。
类似地,您不能使用
更改字体ActiveX Label
答案 1 :(得分:0)
我不认为您正在使用表单控件。 TextBox1
是 ActiveX 控件的默认名称,该名称与使用.OLEObject.Object
进行检索是一致的。
为其声明一个MSForms.TextBox
变量。
Dim box As MSForms.TextBox
现在将其分配给.OLEObject.Object
:
Set box = Worksheets("User Interface").OLEObjects("TextBox1").Object
如果在编译时ThisWorkbook
中存在工作表“用户界面”,请为其指定一个代号(F4;将(Name)
属性设置为例如{{1 }})-那么您可以直接使用该标识符,而无需从UserInterfaceSheet
集合中提取工作表:
Worksheets
现在您可以使用早期绑定的对象引用,您将具有 IntelliSense 来指导您。 Set box = UserInterfaceSheet.OLEObjects("TextBox1").Object
没有MSForms.TextBox
属性。它确实具有.Characters
属性,因此您可以开始探索它:
所以.Font
属性是Font
类型的对象;使用对象浏览器(F2),您可以浏览其成员:
因此:
NewFont
应该这样做。
当心具有误导性的名称和前缀:box.Font.Name = "Arial"
box.Font.Size = 20
的读取方式就像您在查看lblsearchreminder
控件,而不是MSForms.Label
。 TextBox
更合适,或者,如果您更喜欢与控制无关的名称,txtSearchReminder
也可以使用。
SearchReminderBox
也是Error
模块中的函数,您在这里shadowing。