簡體   English   中英

如何從 vba 中的控件名稱生成控件?

[英]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而不是page1Pages而不是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM