【发布时间】:2026-02-01 18:20:02
【问题描述】:
我有一个 excel 插件(xlam),它在打开 excel 时调用用户表单。
当我现在打开一个现有的 excel 文件时,用户表单会按预期显示,我可以单击“确定”按钮关闭用户表单。不幸的是,我打算打开的工作簿没有显示出来。
- 它正在使用 vbmodeless,所以它似乎与用户窗体的“隐藏”或“卸载”有关
- 当我打开一个新的 Excel 工作簿时,它工作正常
有人知道为什么工作簿没有打开吗? excel会忘记他要打开的工作簿吗?
【问题讨论】:
-
请您发布代码而不是屏幕截图。谢谢。我认为您已将表单开口放在加载项开口中。
-
是的 - 我认为当代码在不同的窗口中时图片更容易理解。对于您的问题:是的 - 整个代码都在加载项(xlam)中,并且用户表单在“ThisWorkbook”下的加载项中调用
-
所以这只会在打开 Excel 时触发,而不是每个工作簿。
-
sry 但我有点困惑。也许我的目标并不明确:我有一个带有小程序的工具箱,用于 excel--> 插件。当我打开 excel 时,加载项被调用,我可以在所有工作簿中使用工具箱。因此,当使用第一个工作簿调用工具箱时就足够了。在打开工具箱时,他应该检查更新,如果有可用更新,请打开用户表单。如果您拒绝更新,请关闭用户窗体并打开我打算打开的工作簿。但是这个工作簿没有打开。我必须第二次打开它,因为工具箱不再被调用。(没关系)
-
抱歉,我以为您希望每次打开工作簿时都显示该表单。我在我的用户表单
Private Sub CommandButton1_Click() Me.Hide Unload Me End Sub中有以下内容,在我的插件workbook_openPrivate Sub Workbook_Open() UserForm1.Show vbModeless End Sub
标签: excel vba startup userform