2017-07-28 83 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

哇,這真的有效。謝謝! –