2017-07-28 84 views
1

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

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

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

+0

不确定,请尝试:'Set e_sel = TextBox(txtboxselection.Text)' –

+0

没有工作。粗体是问题:设置e_sel = ** TextBox **(txtboxselection.Text)| **编辑**:子或函数不存在 –

+2

'Me.Controls(txtboxselection.Text).Font.Size = 11' –

回答

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 
+0

哇,这真的有效。谢谢! –