Ich möchte eine Userform, möglichst beim Öffnen der Arbeitsmappe, notfalls aus der Arbeitsmappe, austauschen. Also entfernen und durch eine andere ersetzen.
Möglichst dabei den Modulschutz aufheben und wieder setzen.
Leider funktionierten die bisherigen Versuche nicht:
Private Sub Workbook_beforeOpen()
Dim x As VBComponent
Dim StartPfad As String
'VBAaufheben
Application.VBE.ActiveVBProject.vbcomponents.Remove ("UserForm1.frm")
StartPfad = ActiveWorkbook.Path & "\" & "UserForm1.frm"
Set x = Application.VBE.ActiveVBProject.vbcomponents.Import(StartPfad)
'VBAsetzen
End Sub
Sub VBAsetzen() 'VBA-Kennwort setzen
SendKeys "%{F11}%xi{TAB 9}{RIGHT}{tab}a{tab}" & "pwd123" & _
"{TAB}" & "pwd123" & "{tab}{enter}%q"
End Sub
Sub VBAaufheben() 'VBA-Kennwort aufheben
SendKeys "%{F11}%xi{TAB 9}" & "pwd123" & "{tab}{enter 2}%q"
End Sub