【问题标题】:VBA add-in: How to run code on "enabled"VBA 加载项:如何在“启用”上运行代码
【发布时间】:2011-11-17 01:16:55
【问题描述】:

我正在使用 VBA 为 Excel 2003 编写插件。

我有一个 Auto_Open 子例程,它会在加载项作为文件打开时自动运行一些代码(设置菜单等)。

我需要使用什么子例程名称(或其他逻辑)才能在通过 Excel 的加载项管理器“启用”加载项时自动运行代码? (并且,相关地,当它被禁用时)

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    Auto_Open 和 Auto_Close 会做你想做的事。在“插件”对话框中选中插件会将其打开,取消选中则会将其关闭。

    【讨论】:

    • 根据 Excel 的 VB 帮助,插件在卸载时不会自动关闭。
    • 我将启用/禁用表示选中/未选中。
    • 我的里程会随着加载项启动时 Auto_Open 的触发而变化,但我想我得回去看看是我的错还是一个不起眼的错误。
    • Auto_Open 和 Auto_Close 是为了向后兼容。您应该使用 Workbook_Open 和 Workbook_BeforeClose。
    • 我也使用 Open 和 Before_Close 事件。
    【解决方案2】:

    查看 Workbook_AddinInstall 事件。

    来自 Excel 的 VB 帮助,此事件:

    当工作簿作为插件安装时发生

    例如:

    Private Sub Workbook_AddinInstall()
      MsgBox "This workbook was installed as an addin."
    End Sub
    

    Workbook_AddinUninstall 事件在工作簿卸载时触发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 2020-11-13
      • 2018-09-23
      相关资源
      最近更新 更多