全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Excel VBA如何保护好您的 VBA 作品! 当你辛辛苦苦开发出的程序作品后,是不是想过怎样来保护好程序的源代码呢!,保护好程序 源码,在大多会员来看都是非常关心的问题.遗憾的是,Excel 不像其他的 开发软件一样,在加密上很容易被各种密码破解软件 破译.尽管这样,我们也应尽可能来保护 Excel 工作簿和 VBA 源码。 一、为 VBA 工程设置密码 限制别人查看 VBA 源代码的一个简单办法就是设置 VBA 工程密码或设置工程不可查看。方 法如下: 1、按 Alt+F11,在 VBE 窗口在,单击“工具VBAproject 属性”,打开“VBAproject 属 性”对话框。 2、单击“VBAproject 属性”对话框中的“保护”选项卡。如图 1 所示,选中“查看时锁 定工程”复选框。在“密码”框中输入保护密码,在“确认密码”框中再输入一次密码, 然后单击“确定”,关闭“VBAproject 属性”对话框。 3、保存并关闭工作簿。 当你再打开该工作簿后,打开 VBE 窗口时,就不再显示 VBA 的窗体、模块等对象,看不到 VBA 源代码了。 提示:这种密码保护很容易破解。 二、设置工程不可查看 限制别人查看 VBA 源代码的方法就是设置“工程不可查看”。方法如下: 共享级锁定:先对 Excel 文件的“VBAProject 工程”进行密码保护(参考“为 VBA 工程设 置密码”)。再打开要保护的文件,单击“工具_保护_保护并共享工作簿_以追踪修订方式 共享”,如图 2 所示,输入保护密码再保存文件。当你得新打开“VBAProject”工程属性 时,就将会提示:“工程不可看!” 破坏型锁定:用 16 进制编辑工具(如 WinHex 等)打开 Excel 文件,查找定位以下地方: ID=“00000000-0000-0000-0000-000000000000“(注:实际显示不会全部为 0),此时, 你只要将其中的字节随便修改一下即可。 提示:在修改前最好做好你的文档备份。当然这种方法也可破解的,因为加密总是相对。 三、防止强制中断方式查看 VBA 代码 有时,我们可以通过运行程序,然后在运行的过程中强制按“Ctrl+Break”强制中断程序 运行,进 VBE 编辑器查看源码。为此,我们可以在工作簿的 open 事件中加入以下语句来屏 蔽“Ctrl+Break”组合键。 Application.EnableCancelKey = xlDisabled 如果要恢复“Ctrl+Break”组合键,则用下面的语句。 Application.EnableCancelKey = xlInterrupt 四、禁用宏则关闭 Excel 文件 当打开含有宏的文件时,如果“禁用宏”并打开文件后,所有编辑的 VBA 程序将失效。如 何当用户打开 Excel 文件并禁用宏时,让文件自动关闭呢? 我们可以通过调用 Excel4.0 版(Excel 的一个老版本)的宏命令来解决这个问题。因为 “禁用宏”功能无法禁用 4.0 版本的宏。当您设置完成,再打开文件并点击禁用宏时,系 统就会弹如下图所示提示信息,单击“确定”后文件就会自动关闭。 禁用宏后的提示信息 设置步骤和使用方法: (1)打开要设置的文件,在 VBE 编辑器中添加一个模块。写入以下代码: Function NoRunMacro () A3 单元格中的字符 End Function (2)在任一个工作表标签上单元格右键,执行“插入”命令打开如下图所示对话框,在常 用选项卡中选取“MS Excel4.0 宏表”项,然后单击“确定”按钮,在当前工作簿中就会 新建一个默认名 Macro1 的“宏表”,更改表名为“宏表 1” 在宏表的以下单元格中输入公式: (3)逐个选取工作簿中其他工作表,然后执行【插入】/【名称】/【定义】命令,打开 【定义名称】对话框。在“在当前工作簿中的名称”框中输入:工作表名称 +Auto_Activate。如下图所示在 Sheet1 工作表中打开【定义名称】对话框,定义的名称就 为:Sheet1!Auto_Activate。 然后在引用位置文本框中输入:=宏表 1!$A$2。 提示:对于一个工作表数量较多的工作表逐个设置会很麻烦。所以这时可以只需为其中 一个设置名称,但要保障“当打开工作簿时,必需是设置名称的工作表处于选取状态” 五、限制工作簿的使用次数,超过次数就自我删除 限制工作簿的使用次数,超过次数就自我删除,也不失为保护作品的一种好方法。但这种 方法需要修改注册表。 有关程序的代码如下: Private Sub Workbook_Open() Dim counter As Long, term As Long, chk chk = GetSetting(“hhh“, “budget“, “使用次数“, “) If chk = “ Then term = 50 限制使用 50 次 MsgBox “本工作簿只能使用“ & term & “次“ & vbCrLf & “超过次数将自动销毁!“, vbExclamation SaveSetting “hhh“, “budget“, “使用次数“, term Else counter = Val(chk) - 1 MsgBox “你还能使用“ & counter & “次,请及时注册!“, vbExclamation SaveSetting “hhh“, “budget“, “使用次数“, counter If counter = 0 Then DeleteSetting “hhh“, “budget“, “使用次数“ killme End If End If End Sub Public Sub killme() Application.DisplayAlerts = False ActiveWorkbook.ChangeFileAccess xlRe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洞口文旅产品介绍
- 安全生产风险分级管控制度范文(3篇)
- 机电专业实训安全
- 2025年石家庄医学高等专科学校单招职业适应性考试题库及参考答案详解
- 2025版胃溃疡疼痛症状解读及护理要点
- 长安十二时辰深度解析
- 2025年郑州工业应用技术学院单招职业适应性考试题库及答案详解必刷
- 2025年辽宁轻工职业学院单招职业倾向性考试题库附参考答案详解满分
- 2025版痴呆症常见症状及护理手段培训
- 2025版风湿病常见症状及护理护士技巧
- 再生障碍性贫血病人的护理讲解
- 地理中国-青藏高原知到智慧树章节测试课后答案2024年秋青海师范大学
- 国家义务教育监测陆川县四年级模拟试题(艺术)-(自动保存的)
- 危险品车队车辆、设备、设施安全管理制度(4篇)
- 行政部三年工作规划
- 1、2024广西专业技术人员继续教育公需科目参考答案(98分)
- 公司安全事故隐患内部举报、报告奖励制度
- 中国特色社会主义第1、2课课件高考政治一轮复习统编版必修一中国特色社会主义
- 2023-2024学年北京市清华附中朝阳学校七年级(上)期中数学试卷【含解析】
- 客服经理资质考前练习题库(327道)
- SL-T+62-2020水工建筑物水泥灌浆施工技术规范
评论
0/150
提交评论