请教高手,急! 如何能在excel中对vba代码进行处理,使之保证在下次打开vba代码时能自动删除或变成乱码。

要求非工程保护实现,防止破解。

这个貌似不可以,只能通过外部插件,你可以加密你的VBA工程,这样别人就看不到你的代码了。或者弄个加载宏,用完了卸载你的加载宏,这样表里面就只有结果,找不到源代码了追问

如何利用加载宏,麻烦再说的细一点,谢谢!

追答

加载宏也是VBA的一种,只不过是放在别的工作簿里面 扩展名是XLA, 加载以后别的工作簿可以共享的EXCEL 文件,代码和普通的有些许区别,我这里也不可能一下给你讲清楚,你去“EXCEL之家” 这个论坛找找相关的教程,我以前在那里找过

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-22
我有一办法,不需要破坏代码,但可以达到同样的目的,给我发邮件nkhys@qq.com
我的办法是 先给vba加密,注意 代码一定要放到模块中,不然通过复制工作表 就可以获取代码,然后再设置工作簿打开事件,这个事件 首先产生随机码,然后根据随机码算出动态密码,只有输入动态密码才能正常使用 根据随机码算动态密码的算法只有你一个人知道 输入错误 工作薄关闭,
如果要是 宏被禁用 那么他就不能用你的代码 如果要用 启用宏,就会出现随机码, 他可以打电话 告诉你 随机码,由你算出密码 给他用 仅仅一次有效! 下次 随机码又变了 可以达到控制别人使用的目的,我就是这么干的
第2个回答  2011-03-25
Private Sub xlapp_WorkbookOpen(ByVal Wb As Workbook)
If Wb.Name <> "Booo.xla" Then '删除宏警告
Msg = MsgBox(Wb.Name & "档案将关闭前是否删除所有宏", vbYesNo, "警告")
If Msg = vbYes Then
ActiveWorkbook.Activate
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
ActiveWorkbook.VBProject. VBComponents(i).CodeModule.DeleteLines 1, _
ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines
Next i
End If
End If
End Sub
试试上面的代码能解决吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网