我已经编写了一个Excel插件,可以定期检查远程存储库中的数据更新,包括检查插件是否在Excel启动时加载(在插件的Workbook_Open
事件期间)。如果检测到新的存储库数据,则addin会要求用户允许继续更新。如果用户点击"是",插件会自动更新,一切都很开心......除了......
如果Excel尚未运行且用户选择要打开的Excel文件(例如,通过在Windows中双击),则会发生此事件序列并且一切正常,但用户请求的文件打开中断而不是从事。 Excel应用程序正在运行,但未加载任何工作簿(工作簿区域为空框架)。
我相信我有两个选择,我不知道如何完成:
我无法找到用户请求的文件的文件名/路径,因此我的插件无法指示要加载的文件。
我当前的解决方法是MsgBox
告诉用户关闭Excel并重新打开所选文件。理想情况下,应该进行插件更新,并且原始操作应该完成,而无需用户干预。
(在选项1的基础上,我可以为插件启动延迟计时器,以检查Excel启动后XX秒的更新,但这对我来说似乎很糟糕。)
任何指导或想法都表示赞赏。我的interwebz搜索没有为确切的场景命中正确的关键字组合。
答案 0 :(得分:0)
不是立即打开新的插件更新文件,而是可以使用OnTime来延迟它,这应该允许其他文件成功打开。见这里:Process for updating Excel add-in?
在答案中,您还会在此处看到对此软件包的引用,其中包含您需要的所有内容。自动更新很难,所以我建议与其他人一起解决。 http://www.decisionmodels.com/downloads.htm#addload (向下滚动到加载项加载器版本2)