我有两个用VBA编写的MS Office外接程序,我想将它们打包到安装程序中,以及一些支持文件。由于保护外接程序代码的VB密码很容易被破解,因此我希望将外接程序中的VBA代码“转换”为DLL,然后从外接程序中调用这些DLL。
将VBA代码“放入”DLL有哪些选择?Visual Studio能处理这个问题吗?有没有好的链接提供一些关于这个东西的非常基本的指导?谢谢。
发布于 2010-02-01 02:57:04
因为没有其他人接电话。我没有这样做的个人经验,尽管我使用过VBA,VB6,并编写了VB6 DLL,这些DLL是其他第三方软件(尽管不是Office)的插件。
最简单的方法是将您的VBA代码转换为VB6 COM加载项。这样你就不需要改变代码的本质,因为VBA与VB6有99%的相同之处,而且你可以针对相同的Office对象模型进行编码。您需要更改将外接程序链接到Office的内务管理。以下是关于如何在VB6中编写Office外接程序的2002 Microsoft MSDN article。
或者,您可以将VBA作为VSTO外接程序迁移到VB.Net。完全支持VB.Net,而不是only the VB6 runtime is now supported。缺点是它可能需要大量的工作,需要对learn and buy添加新的东西。您需要使用obfuscator,否则您的.Net代码可能会比密码保护的VBA更decompiled even more easily。
在你决定之前,思考一下有多少盗版者会攻击你的代码,如果他们破解了它会有多糟糕,还有什么可以阻止他们复制你的二进制文件(不反编译)?正确的答案可能是坚持使用VBA外接程序。
https://stackoverflow.com/questions/2150858
复制相似问题