excel vba——如何保护好您vba作品!!

excel vba——如何保护好您vba作品!!

ID:20434729

大小:30.50 KB

页数:4页

时间:2018-10-10

excel vba——如何保护好您vba作品!!_第1页
excel vba——如何保护好您vba作品!!_第2页
excel vba——如何保护好您vba作品!!_第3页
excel vba——如何保护好您vba作品!!_第4页
资源描述:

《excel vba——如何保护好您vba作品!!》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ExcelVBA——如何保护好您的VBA作品!!当你辛辛苦苦开发出的程序作品后,是不是想过怎样来保护好程序的源代码呢!,保护好程序源码,在大多会员来看都是非常关心的问题.遗憾的是,Excel不像其他的开发软件一样,在加密上很容易被各种密码破解软件破译.尽管这样,我们也应尽可能来保护Excel工作簿和VBA源码。一、为VBA工程设置密码限制别人查看VBA源代码的一个简单办法就是设置VBA工程密码或设置工程不可查看。方法如下:1、按Alt+F11,在VBE窗口在,单击“工具—VBAproject属性”,打开“VBAproject属性”对话框。2、单击“VBAproject属性”对话框

2、中的“保护”选项卡。如图1所示,选中“查看时锁定工程”复选框。在“密码”框中输入保护密码,在“确认密码”框中再输入一次密码,然后单击“确定”,关闭“VBAproject属性”对话框。3、保存并关闭工作簿。当你再打开该工作簿后,打开VBE窗口时,就不再显示VBA的窗体、模块等对象,看不到VBA源代码了。★提示:这种密码保护很容易破解。★二、设置工程不可查看限制别人查看VBA源代码的方法就是设置“工程不可查看”。方法如下:共享级锁定:先对Excel文件的“VBAProject工程”进行密码保护(参考“为VBA工程设置密码”)。再打开要保护的文件,单击“工具_保护_保护并共享工作簿_以

3、追踪修订方式共享”,如图2所示,输入保护密码再保存文件。当你得新打开“VBAProject”工程属性时,就将会提示:“工程不可看!”破坏型锁定:用16进制编辑工具(如WinHex等)打开Excel文件,查找定位以下地方:ID="{00000000-0000-0000-0000-000000000000}"(注:实际显示不会全部为0),此时,你只要将其中的字节随便修改一下即可。★提示:在修改前最好做好你的文档备份。当然这种方法也可破解的,因为加密总是相对。★三、防止强制中断方式查看VBA代码有时,我们可以通过运行程序,然后在运行的过程中强制按“Ctrl+Break”强制中断程序运行

4、,进VBE编辑器查看源码。为此,我们可以在工作簿的open事件中加入以下语句来屏蔽“Ctrl+Break”组合键。Application.EnableCancelKey=xlDisabled如果要恢复“Ctrl+Break”组合键,则用下面的语句。Application.EnableCancelKey=xlInterrupt四、禁用宏则关闭Excel文件当打开含有宏的文件时,如果“禁用宏”并打开文件后,所有编辑的VBA程序将失效。如何当用户打开Excel文件并禁用宏时,让文件自动关闭呢?我们可以通过调用Excel4.0版(Excel的一个老版本)的宏命令来解决这个问题。因为“禁用

5、宏”功能无法禁用4.0版本的宏。当您设置完成,再打开文件并点击禁用宏时,系统就会弹如下图所示提示信息,单击“确定”后文件就会自动关闭。禁用宏后的提示信息设置步骤和使用方法:(1)打开要设置的文件,在VBE编辑器中添加一个模块。写入以下代码:FunctionNoRunMacro()  ’A3单元格中的字符EndFunction(2)在任一个工作表标签上单元格右键,执行“插入”命令打开如下图所示对话框,在常用选项卡中选取“MSExcel4.0宏表”项,然后单击“确定”按钮,在当前工作簿中就会新建一个默认名Macro1的“宏表”,更改表名为“宏表1”在宏表的以下单元格中输入公式:(3)

6、逐个选取工作簿中其他工作表,然后执行【插入】/【名称】/【定义】命令,打开【定义名称】对话框。在“在当前工作簿中的名称”框中输入:工作表名称+Auto_Activate。如下图所示在Sheet1工作表中打开【定义名称】对话框,定义的名称就为:Sheet1!Auto_Activate。然后在引用位置文本框中输入:=宏表1!$A$2。★提示:对于一个工作表数量较多的工作表逐个设置会很麻烦。所以这时可以只需为其中一个设置名称,但要保障“当打开工作簿时,必需是设置名称的工作表处于选取状态”★五、限制工作簿的使用次数,超过次数就自我删除限制工作簿的使用次数,超过次数就自我删除,也不失为保护

7、作品的一种好方法。但这种方法需要修改注册表。有关程序的代码如下:PrivateSubWorkbook_Open()DimcounterAsLong,termAsLong,chkchk=GetSetting("hhh","budget","使用次数","")Ifchk=""Thenterm=50'限制使用50次MsgBox"本工作簿只能使用"&term&"次"&vbCrLf&"超过次数将自动销毁!",vbExclamationSaveSetting"hhh","budget","使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。