【问题标题】:running a macro from an add-in从加载项运行宏
【发布时间】:2010-05-11 20:14:40
【问题描述】:

我有一个名为 book1 的加载项。在插件内部有一个名为 module1 的模块,它有一个名为 addin1 的子模块

我想从不同的工作簿运行宏 addin1

我想这样调用这个宏:

Call Addin1

但这不起作用

我试过了:

Call book1.xlam.Module1.AddIn1

这也不起作用

有人知道如何运行插件中的宏吗?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    (假设 Office 2007) 这是一个例子:

    1- 打开一个新的工作簿。
    2- 添加包含代码MsgBox("Add-In")
    的宏 3- 另存为 xlam 文件。
    4- 打开新的工作簿。
    5- 单击 Office 按钮 -> Excel 选项
    6- 单击左侧的加载项选项卡。
    7- 在底部的“管理”下拉菜单旁边,选择“Excel 加载项”并单击“前往”。
    8- 单击浏览并导航到您的 xlam 文件。
    9- 确保选中文件旁边的框,然后单击确定。
    10- 单击 Office 按钮 -> Excel 选项。
    11- 单击自定义选项卡。
    12- 在“从下拉列表中选择命令”中选择宏。
    13- 双击您的插件,现在快速访问工具栏上将出现一个按钮。
    14- 单击按钮,您的消息框现在将显示。

    【讨论】:

    • 嗨,Jacob,我正在使用 Office 2007。我完全按照您上面写的做了,直到第 12 点我能够复制它,但我在第 13 步遇到问题,在此步骤中选择“从下拉菜单中选择命令中的“宏”选项,我的自定义加载项没有出现在下拉菜单中添加。提前致谢。
    • 步骤 1-9,获取可访问的插件。我认为OP可能已经处于那个阶段。由于使用插件功能可以立即访问,但不能立即访问。步骤 10-14 有效,但步骤 12 应显示“自定义功能区”。而且我发现第 13 步不应该说“双击你的插件”,插件没有在那里列出,但子程序是.. 然后可以单击“添加>>>”按钮并在工具栏中获取该宏的按钮.
    【解决方案2】:

    在你的工作簿中你写:

    Sub test() 
        ' from other excel file
        Application.Run ("youraddin.xla!ShowForm") 
    End Sub
    

    在插件中你有

    Public Sub ShowForm() 
        loginform.Show 
    End Sub 
    

    【讨论】:

      【解决方案3】:

      关于如何在已安装的插件(.xlam)中运行子程序:

      1. 确保与加载项关联的 VBA 项目具有唯一的名称(不是 VBAProject) - 例如 Addin_1。

      2. 在您希望从中调用加载项子例程的工作簿的 VBA 项目中,设置对 Addin_1 的引用。工具 > 参考,在可用参考列表中找到 Addin_1,然后单击相邻的框(出现一个勾号)。

      3. 在工作簿代码模块的子例程中,您现在可以调用插件的子例程,使用:

          Call Addin_1.routine_name(routine parameters)
        

      由于您引用了Addin_1,因此您在输入Call Addin_1. 时会出现加载项中子程序的名称,在您输入Call Addin_1.routine_name( 后会出现特定子程序的参数列表,这对您有很大帮助编写无错误的代码。

      使用 Excel 2013 测试。当我很好奇设置对已安装加载项 (.xlam) 的 VBA 项目的引用时发生了什么时发现。我没有看到这个记录。

      【讨论】:

        【解决方案4】:

        我相信这就是你要找的东西:)你需要所有的单引号和 !在正确的地方,可能有点棘手。

        run "'book1'!module1"
        

        【讨论】:

          【解决方案5】:

          除了 Jacob G 的回答 - 如果您的 .xlam 书籍受密码保护,您应该打开它进行编辑(即输入密码)。否则 .xlam 书的宏在“从下拉列表中选择命令”中将不可见

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-07-29
            • 1970-01-01
            • 2015-11-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-30
            相关资源
            最近更新 更多