我想生成一个包含专有公式和其他知识产权的Excel工作簿.我很可能使用C#在Visual Studio 2010中生成此工作簿.
这些项目中的代码有多受保护?C#中的反射问题仍然适用于这些工作簿项目吗?如果是这样,是否有针对这些类型工作簿的混淆工具?
添加到这个问题 - 好的'ole VBA怎么样?如果我们要去VBA路线,有没有办法保护这些代码呢?
我有一份电子表格,将分发给同事; 我希望尽可能使用户友好,所以为了运行宏,我有一个简单的按钮,可以自动完成所有内容.但是我不希望他们有权自己运行任何宏.
我已经成功地使用了这个
Option Private Module
Public Sub Run_Batch_Report()
'The actual script that works is here, cutting it to skip to the portion that won't work'
Call Misc_Doc
MsgBox ("Report finished.")
End Sub
Run Code Online (Sandbox Code Playgroud)
Public Sub Misc_Doc()所做的就是从另一个电子表格导入数据并对其进行格式化.
然后让命令按钮通过application.run调用模块
Private Sub CommandButton1_Click()
Application.Run "Batching_Module.Run_Batch_Report"
End Sub
Run Code Online (Sandbox Code Playgroud)
这样做那种工作的; 因为它似乎运行Run_Batch_Report子只是很好,但该子也调用同一模块中的其他子来完成作业.这些子程序将无法运行除非我在开发人员选项中解锁VB以进行查看和编辑.是否可以完整地运行子运行(包括在同一模块中调用其他子组件),或者我是否必须重构我的子组件以包含它所调用的所有其他子组件?
对不起,如果我随意措辞 - 我实际上正在开会,并在听老板的同时玩杂耍.
编辑:为了澄清,我已经锁定VB被查看.当我在脚本仍处于锁定状态时运行脚本时,它将不允许子调用该模块的其他部分.输入密码以解锁VB以供查看后,它就能正常工作.