vba私有脚本

TPR*_*TPR 5 excel vba excel-vba

我知道甚至私人vba脚本也可以由用户调用,因此使其"私有"实际上只隐藏其名称.

但是,有没有办法设置一个宏,所以如果你在那个特定的VBA项目里面它只能运行?不是来自Excel,也不是来自任何VBScript等.

bre*_*tdj 3

如果您想锁定代码,您可以

  • 将代码设为私有,这样宏名称就不会暴露
  • 锁定保护,然后在让代码运行之前测试项目是否确实解锁

下面的示例代码在运行之前检查主机工作簿中的 VBA 是否不受保护

这满足您的需求吗?

    Private Sub TestMe()
    Dim objVB As Object
    Set objVB = ThisWorkbook.VBProject
    If objVB.Protection = 0 Then
        Call TestSub
    Else
        MsgBox "Sorry sport - unauthorised", vbCritical
    End If
    End Sub

    Private Sub TestSub()
    MsgBox "Project unprotected - i've been run", vbOK
    End Sub
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述