Normal.dotm 在 Excel 中等效于引用相同的单个 VBA 代码

Normal.dotm equivalent in Excel for referencing the same single VBA code

只是好奇。

目前我知道的唯一方法是用代码创建一个加载项,将其放在某个受信任的目录中,并希望它在您需要时打开。缺点是它有时不会与应用程序一起打开(例如,我在加载项中有一个自定义 UDF,我在工作表中使用它,但我得到一个错误,因为加载项尚未启动)。为此,我的功能区上有一个按钮,它调用插件中的一个子程序,它什么都不做,但随后插件被激活,UDF 工作。

是否有任何其他有效的方法来引用其他工作簿中的代码,例如在 Word 中我们有 normal.dotm 模板?

的确,Excel 确实有一个通用代码文件,在概念上类似于 Word 的 normal.dotm。它被称为Personal.xlsb。我自己将它用于几个链接但独立的电子表格所需的常用功能。

使用 Personal.xlsb 也有一些缺点,因此您必须确定它是否比插件方法更有效。请注意,当只有一个人需要跨电子表格的通用功能时,Personal.xlsb 效果最佳;它不太适合企业环境中的电子表格的多用户访问。

下面是一些有用的链接,可帮助您入门。另外只需 google 搜索 "excel Personal.xlsb" 你会发现更多信息:

要在 Excel 中创建与 normal.dot 相等的对象,请执行此操作(至少 ver. 2016):

  1. 从“开发人员”选项卡录制宏(您可能必须先启用此选项卡)

    这将创建文件 %appdata%\Microsoft\Excel\XLSTART\PERSONAL.XLSB,Excel 等同于 normal.dot
  2. 现在取消隐藏名为“PERSONAL.XLSB”的隐藏工作簿
  3. Alt+F8Alt+F11编辑VBA代码

额外:VBA 另存为示例:

Application.Dialogs(xlDialogSaveAs).Show