[英]How to generate control from control name in vba?
我有一個 sub 將參數中的控件名稱作為字符串接收,我想將該名稱轉換為我嘗試過的控件:
Public Sub text_initialize(ByVal CurrentPage As String)
Dim ctrl As Control
For Each ctrl In UserForm1.MultiPage1.Controls(CurrentPage).Controls
'some code here
Next ctrl
End Sub
在通話中我這樣做了:
text_initialize "Page1"
我發現為文本框提到的解決方案“Controls(CurrentPage)”,但它似乎不適用於頁面!
如果有任何其他方法可以將頁面作為參數傳遞,以便我可以修改它上面的所有控件,我想知道。
感謝@CherryDT,他在我的代碼中發現了兩個錯誤,首先我應該使用Page1
而不是page1
和Pages
而不是Controls
,我發現由於某種原因我不得不用UserForm1.MultiPage1
替換MultiPage1
所以現在正確的代碼是:
Public Sub text_initialize(ByVal CurrentPage As String)
Dim ctrl As Control
For Each ctrl In UserForm1.MultiPage1.Controls(CurrentPage).Controls
'some code here
Next ctrl
End Sub
並這樣稱呼它:
text_initialize "Page1"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.