Excel和C#.NET

3

我目前正在开发一款使用VBA宏在Excel中进行数据提取的C#应用程序。

Excel文件对于实现数据提取至关重要,并且此文件将位于客户计算机上。由于此代码是私有内容并受到知识产权法保护,因此我想知道如何在保护代码的同时向客户部署VBA代码?

我听说过VSTO,是否可以从VSTO插件运行VBA代码?它具有正确的安全级别吗?

谢谢


1
至少展示你已经尝试过的东西(代码) - Dandy
我的VBA代码已经可以工作,大约有100 - 150行。但是我不知道如何在客户的PC上部署它,因为XLA文件保护很薄弱... - John R
2个回答

0
如果您要创建VSTO插件,那么为什么需要VBA呢?您可以按照以下链接直接从C#代码中操纵数据:

https://msdn.microsoft.com/en-us/library/cc668205.aspx

如果应用程序的目的是从数据库导出数据,为什么不使用诸如EPPlus之类的库,只需从外部应用程序导出代码即可?同样,没有VBA代码供某人潜在地查看。
无论哪种方式,您的代码都不在标准用户的公共领域。如果您真的担心您的代码被劫持,那么值得阅读混淆技术的相关知识。

你能给我推荐一个VBA混淆工具的名称吗?目前我正在使用Dotfuscator来混淆我的C#代码。谢谢。 - John R

0
我想知道如何在保护代码的同时向客户部署VBA代码?
Excel提供了一种机制来锁定对宏源代码的访问,这是您可能已经知道的。例如,请参见此处
我听说过VSTO,是否可以从VSTO插件运行VBA代码? 是的 这是正确的安全级别吗?
VBA安全性与调用方式无关。如果宏受到保护,则无论如何调用它都将保持受保护状态。换句话说,从VSTO调用宏不会以任何方式保护它。
如果您想要“隐藏”用户无法看到的函数,只需保护项目并将该函数标记为私有即可。但是,即使该函数是公共的,用户也无法查看源代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接