我的问题可能听起来很愚蠢,但请多多包涵:-)
我有一个 excel 文件,正在做一些手动任务,将它们转换为 VBA 代码以实现自动化。效果很好。
然后我决定为什么不分发这个。因此,我开始寻找保护 VBA 代码的方法,但一无所获。最可能的方法是将其转换为 DLL 并在 excel 中使用“工具->添加引用->mytoolsDLL”调用 DLL。由于没有看到 DLL 代码,它确实提供了一些保护。所以,我查找了如何将我的 VBA 转换为 DLL。解决方案找到“Visual Studio-> 类库项目”!所以使用类库项目将几乎所有的 VBA 转换为 DLL,编译,注册我的 DLL,在 Excel 中使用它,一切都很好,运行良好。
现在,我编译的这个DLL我不知道它是归类为“COM add-in”还是“.NET”DLL!今天我意识到“反编译”一个 .NET DLL 非常容易。我尝试查看 COM ADDIN 和 .NET 之间的“代码”差异,几乎没有。在编写这个“DLL”时,我经常使用 google 和 MSDN,但他们都将其称为“VB”
如果我要将 VBA 转换为某种东西,它应该是“COM ADD-IN”还是“.NET”?我今天读到了 VSTO,想知道 VSTO 是如何介于 Visual Studio 和 COM ADDIN/.NET 之间的?我可以使用哪些技术来确保分发时的 DLL 可以受许可证控制?即在第一次“安装”之后 DLL 不能复制到其他机器上?是否可以通过 VSTO 进行许可证管理/控制?
ps:如果您认为我混淆了术语/术语,请随时纠正我