Sku*_*uta 6 excel vba excel-vba source-code-protection dllexport
出于安全目的,我想将我的宏从Excel工作簿中的VBA保存到我稍后将从该文件调用的DLL库文件.
这样就可以将我的宏的任何版本部署到公司的PC上,但没有人会看到它背后的真实代码.
这怎么可能?我已经读过转换为C++和创建DLL.这有什么分步解决方案吗?
首先,让我警告您总体上不要这样做。我们使用公司应用程序进行过一次,移植所需的时间与最初编写应用程序所需的时间大致相同。为此,不存在分步指南,因为您基本上是从头开始重写应用程序。
其次,并不是Excel VBA可以做的所有事情都不一定可以在COM或XLL中使用。可用的事件有所不同;对于XLL,有全新的结构可用于所有数据类型。在COM中没有UDF。在XLL中,没有宏操作。您将不再能够将代码附加到工作表(仅Excel会话),并且安装过程要复杂得多。在踏上一条特定的道路之前,我会花很长时间研究VBA的确切功能。
这取决于您的应用程序的大小,但我鼓励您花钱购买水密许可证并进行一些基本的代码混淆处理(按照原始注释),而不是从头开始采用其他体系结构。
抱歉成为厄运的承担者...
克里斯
您可以通过将 VBA 代码转换为受密码保护的 XLA 并混淆代码来保护它。但密码安全性较弱。使 XLA 可以轻松地与所有 Excel 版本配合使用。
一个简单的替代方法是转换为已编译的 VB6 自动化插件。安全性良好,易于转换,它可以处理 UDF 和命令插件。但它不适用于 Excel 2010-64 或早期版本的 Excel(如 XL 2000)。您将需要一个 VB6 编译器,而该编译器可能很难找到。
更困难的替代方案是转换为 .NET。如果您使用众多混淆器之一,那么安全性是合理的。除非您使用允许通过 XLL 接口访问 .NET 的工具之一(例如 Excel DNA 或 Addin Express),否则性能将会很差。还提供 64 位功能。
如果性能和安全性至关重要,您需要转换为 C++ XLL,但如果来自 VBA,这是一项艰巨的工作。
| 归档时间: |
|
| 查看次数: |
21248 次 |
| 最近记录: |