사용자 정의 폼을 열 때마다 코드를 한 번만 실행해야하므로 사용자 폼을 영구적으로 변경하려고합니다.영구적으로 사용자 폼 변경
일부 사람들에게 유용하다는 것을 알았습니다. 나는 나를 위해 무엇이 잘못 될지 모른다.
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
감사합니다.
그럼, 질문은 무엇입니까? –
BTW에서 코드가 폼의 코드 숨김이면 'UF' 매개 변수를 삭제하고 [어제 들었던] 대신 [Me]를 사용하십시오 (http://stackoverflow.com/a/42421855/1188513). 'FormatUserForms UFNewRequest'는 ** 디폴트 인스턴스 **를 보내고 있습니다 **는 반드시 ** 현재 실행중인 인스턴스는 아닙니다 **. –
호기심에서 벗어난 이유는 양식의 저장된 바이너리 스트림에서 컨트롤 속성을 변경하려는 이유가 무엇입니까? 그것들을 동적으로 설정하면 폼로드에 최소한의 오버 헤드가 추가되고'TextBox' 배경 색상이 몇 가지 음영이 가벼워 져야한다고 결정하면 ** *** 유연하고 유지 보수가 용이합니다. – Comintern