VBA体系结构提示 – macros包装
我一起攻击Excel的概念certificate,以从数据库中获取数据,并需要打包以便将其分发给我们的客户。 我第一次尝试只是把我所有的代码放到一个代码模块中,但是在Excel中,我可以看到macros列表中的所有模块,当我真的只想要列表中的主模块时。 我猜我需要将不能直接运行的子例程移到类模块中,以便隐藏它们。 对于如何打包macros代码,是否还有其他提示,以便给客户提供更简单,更安全的方法?
Sub是否隐藏在macros列表中是基于它的范围(例如public,private)。 如果您创build一个私人的,它不会列在macros列表中。
'This sub is public Public Sub myPublicSub() MsgBox "hello world" End Sub 'This sub is also public Sub mySub() MsgBox "hello world" End Sub 'This sub is private Private Sub myPrivateSub() MsgBox "hello world" End Sub
类模块用于创build类,这对您的解决scheme可能没有用处或必要(如果代码按现在的方式运行)。
如果这是客户,我强烈build议打包为.xlam(Excel 2007+加载项),并学习如何自定义function区以包含macros的button。 macros列表不是特别有用的。 (请参阅http://openxmldeveloper.org/archive/2006/05/25/CustomUIeditor.aspx免费的function区xml编辑器文章底部的“附件”,请参阅http://www.rondebruin.nl/ribbon .htm的一些教程)
为了防止您的代码被查看/被盗,VBA项目可以用密码保护,但这不应该被认为是坚实的保护。