我目前正在开发一个VBA项目,我希望用密码保护代码。
此外,我想使用以下代码行:
Public Sub main()
'Dim CodeModuleSoure As Variant
Dim CodeModuleDestination As Variant
With Application.VBE.ActiveVBProject.VBComponents
'Set CodeModuleSoure = Nothing
Set CodeModuleDestination = .Item(.Count)
CodeModuleDestination.codemodule.addfromstring "Private Sub Worksheet_Activate()" _
& vbCrLf & "Call RefreshRibbon" _
& vbCrLf & "End Sub"
End With
End Sub
这基本上增加了
Private Sub Worksheet_Activate()
Call RefreshRibbon
End Sub
代码。
由于这在项目仍然受到保护时不起作用,我进行了一项“小”研究并发现:Is there a way to crack the password on an Excel VBA Project
最后我创建了一个函数,我首先调用“crack”,然后调用“code-writer”:
Sub otherfuncts()
unprotected
Call Sheet4.main
End Sub
当我尝试使用Button运行otherfuncts函数时,它会给我这个错误:
如果我打开VBA-Project它实际上是“破解”,如果我在查看项目后重新运行代码,按钮不会给我一个错误。有没有一个解决方案,它在第一次尝试?