我正在嘗試永久更改用戶窗體,以便我只需運行一次代碼而不是每次單擊按鈕以打開用戶窗體時都會運行該代碼。永久更改用戶形式
我發現這適用於某些人。我不確定對我來說可能是錯的。
Sub FormatUserForms(UF As UserForm)
UF.BackColor = RGB(51, 51, 102)
Dim ctrl As Control
With ThisWorkbook.VBProject.VBComponents("UFNewRequest").Designer
For Each ctrl In UF.Controls
Select Case TypeName(ctrl)
Case "Label"
ctrl.BackColor = RGB(51, 51, 102)
ctrl.ForeColor = RGB(247, 247, 247)
Case "CommandButton"
ctrl.BackColor = RGB(247, 247, 247)
ctrl.ForeColor = RGB(0, 0, 0)
Case "TextBox"
ctrl.BackColor = RGB(247, 247, 247)
ctrl.ForeColor = RGB(0, 0, 0)
Case "OptionButton"
ctrl.BackColor = RGB(51, 51, 102)
ctrl.ForeColor = RGB(247, 247, 247)
End Select
Next
End With
End Sub
Sub formatting()
FormatUserForms UFNewRequest
End Sub
感謝您的任何幫助!
那麼,什麼是問題? –
順便說一句,如果代碼在窗體的代碼隱藏中,放棄'UF'參數並使用'Me',而不是[如昨天告訴](http://stackoverflow.com/a/42421855/1188513)。 'FormatUserForms UFNewRequest'正在發送**默認實例**,它**不一定是當前正在執行的實例**。 –
出於好奇,爲什麼要更改表單的存儲二進制流中的控件屬性?動態設置它們會爲表單加載增加非常小的開銷,並且如果您決定'TextBox'背景顏色需要變得更輕一些,那麼它將更加靈活和可維護。 – Comintern