vba - 如何使用公共(public)变量停止执行 VBA 代码

标签 vba excel

这个VBA code被写来破解任何 VBA 项目的密码。解释here即使在执行 VBA 模块之后,公共(public)变量也会保留它们的值。是否可以修改以下 VBA 代码(存储在模块级别或类级别)以防止执行(上述 VBA 代码)破坏项目密码? :-

Public Dim HookBytes(0 To 5) As Byte
Dim OriginBytes(0 To 5) As Byte
Dim pFunc As LongPtr
Dim Flag As Boolean

ReDim HookBytes(0) As Byte
ReDim OriginBytes(0) As Byte
pFunc = 9223372036854775807 ' https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/longptr-data-type
Flag = True

最佳答案

您提供的“密码断路器”包含与您要存储为公共(public)变量的声明相同的声明。

您基本上是想在代码开始之前“Hi-Jack”这些变量。

唯一的问题是,一旦例程运行,公开声明的变量现在将成为例程本身范围内的过程变量,只要它们在 Sub 中声明。 .公共(public)变量本质上是忽略 尽快Dim过程中的语句声明了相同的变量名。

本质上,不幸的是,您想要用来阻止密码破解的方法将不起作用。

关于vba - 如何使用公共(public)变量停止执行 VBA 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48257317/

相关文章:

vba - 将上周的日期替换为本周的日期

excel - 查找结果不一致

python - 如何将给定的序数(从 Excel)转换为日期

excel - 将 $filter 与 Microsoft Graph Excel API 结合使用

ajax - 在 laravel 中使用 ajax 下载 maatwebsite excel

javascript - 如何在Angular4中显示Excel文件

vba - 在 Excel 中自动复制和粘贴特定范围的最佳方法是什么?

mysql - 如果文本框为空,则将其设置为空

excel - OptionButton 索引问题

vba - 根据文本值在 Excel 中设置单元格颜色 - VBA