【问题标题】:Change Textbox written, properties (PowerPoint VBA)更改已写入的文本框、属性 (PowerPoint VBA)
【发布时间】:2018-01-05 00:01:42
【问题描述】:

我尝试了以下代码,以更改在 TextBox 'txtboxselection' 中写入名称的 TextBox 的字体大小。例如,如果 TextBox 'txtboxselection' 的文本是 'TextBox1' 那么它应该改变 TextBox1 的字体大小。

Private Sub TextBox2_Change()
Dim e_sel As TextBox
Set e_sel = txtboxselection.Text
e_sel.Font.Size = 11
End Sub

但是,不幸的是它不起作用(“编译错误:类型不匹配”)。那么有什么办法可以告诉程序我要改变写在“txtboxselection”TextBox中的TextBox的字体大小,因为我的没用。

【问题讨论】:

  • 不确定,试试:Set e_sel = TextBox(txtboxselection.Text)
  • 没用。粗体字是问题: Set e_sel = TextBox (txtboxselection.Text) | 编辑:子或函数不存在
  • Me.Controls(txtboxselection.Text).Font.Size = 11
  • 澄清一下,您希望在用户窗体中发生某些事情时更改文本字体?否则,您总是可以在用户窗体的属性窗口中更改字体的大小。
  • 好吧,我不知道你是否知道,但我在 PowerPoint 中使用 VBA。

标签: vba textbox powerpoint


【解决方案1】:

假设您的文本框是 PowerPoint 幻灯片上的 ActiveX 控件,您需要查询 Shapes 集合以获取该控件,并检索其 OLEFormat.Object 以获取 TextBox 对象:

Private Sub TextBox1_Change()
Dim box1 As TextBox
Set box1 = Me.Shapes("TextBox1").OLEFormat.Object
MsgBox box1.Font.Size
End Sub

一旦你有了TextBox 对象引用,你就可以用它做任何你想做的事情。所以在你的情况下:

Private Sub TextBox2_Change()
Dim e_sel As TextBox
Set e_sel = Me.Shapes(txtboxselection.Text).OLEFormat.Object
e_sel.Font.Size = 11
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2013-09-18
    • 2017-10-21
    • 1970-01-01
    相关资源
    最近更新 更多