Разработанный код VBA с защищенным паролем VBAProject необходимо заменить известным паролем через код VBA - PullRequest
0 голосов
/ 08 апреля 2020

Ниже кода VBA, но я не могу управлять им. Есть ли способ открыть код VBA из другого кода VBA с защищенным паролем VBAProject.

Sub UnprotecPassword()

Dim currentActiveWb As Workbook

Set  wb = ActiveWorkbook

If wb.VBProject.Protection <> 1 Then
    Exit Sub
End If

Set currentActiveWb = ActiveWorkbook

wb.Activate

SendKeys "%{F11}"
SendKeys "^r" ' Set focus to Explorer
SendKeys "{END}" ' Tab to locked project
SendKeys "~" ' Enter
SendKeys "pass"
SendKeys "~" ' Enter

If (wb.VBProject.Protection = vbext_pp_locked) Then
    MsgBox ("failed to unlock")
End If
currentActiveWb.Activate

End Sub

1 Ответ

0 голосов
/ 08 апреля 2020

Так как я знаю пароль защищенных паролем модулей VBA, просто экспортируйте во все модули как .Bas и .CLS, а SaveAs оригинально * .XLSM как * .XLSX и импортируйте все экспортированные модули в * .XLSX и снова SaveAs * .xlsm.

ActiveWorkbook.VBProject.VBComponents ("ThisWorkbook"). CodeModule

Это обходной путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...