vba - 从 Excel 应用程序隐藏 VBA 过程,但不从其他项目隐藏 VBA 过程

标签 vba excel

我知道这是一个不太可能的事情,但是由于“选项私有(private)模块”的限制,甚至更糟糕的“私有(private)子/函数”的限制,有谁知道是否有一种方法可以从 Excel 应用程序隐藏 VBA 过程,而不是从 Excel 应用程序隐藏 VBA 过程其他项目?

我有一个 XLAM,其中包含可重用功能的子集,我喜欢在新的 Excel 项目中包含和引用这些功能,但是使用“选项私有(private)模块”会阻碍这一点,如果我忽略它,则会出现一堆无法使用或模糊的函数和子函数对应用程序可见且可用。

最佳答案

  • 将 XLAM 中的标准模块转换为类模块(设置为 公共(public)不可创建);
  • 创建一个返回实例的附加类模块(带有 一些额外的工作,每个此类模块的实例);和
  • 创建一个标准模块,其中一个属性返回主类入口模块的实例

1级:

Option Explicit

Public Sub IAmInvisible()

End Sub

模块条目:

Option Explicit

Private mClass As New Class1

Public Property Get TheClass() As Class1
    Set TheClass = mClass
End Property

关于vba - 从 Excel 应用程序隐藏 VBA 过程,但不从其他项目隐藏 VBA 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24713301/

相关文章:

vba - 无法修改未 protected 工作表

Excel宏将xlsx转换为xls

arrays - 将单元格值拆分为数值数组

vba - Excel VBA - 检查字符是否等于符号

excel - VBA:嵌套循环并知道它循环了多少次

VBA - 复制行 - 如果发现错误,则继续复制单元格

vba - VBA-autofilter隐藏单元格上的interior.colorindex使用#VALUE结束函数

wcf - 使用 Excel 在 WCF mex Moniker 上调用方法时出现自动化错误

java - 如何将 'xls' 文件中的 2 行标题转换为单行标题?

VBA 仅导出包含数据的单元格