【问题标题】:How to handle Excel menu change / click event in C#如何在 C# 中处理 Excel 菜单更改/单击事件
【发布时间】:2014-07-14 07:19:30
【问题描述】:

我已经使用 AddIn Express 产品创建了 Office 2010 Excel AddIn。我正在使用 AddIn Express 来支持不同版本的 Excel。在加载项加载期间,我正在对用户进行身份验证,内部网用户大约需要 1-2 秒,而外部用户使用基于表单的身份验证进行身份验证。通过身份验证后,加载项将成功加载,并在 Excel 菜单中显示应用程序名称。

我想知道当她/他单击 Excel 菜单下的应用程序菜单名称时是否可以对用户进行身份验证,因为用户可能只想使用 Excel 而不是加载项。截至目前,由于我每次启动 Excel 时都会对用户进行身份验证,因此会增加启动 Excel 的延迟。当用户单击应用程序菜单名称时,我无法识别可以处理的正确事件/方法。

非常感谢您的帮助。

谢谢。

【问题讨论】:

  • 定义Application menu name?你在说 UI 的哪一部分?可以分享截图吗?
  • 应用程序菜单名称是指我的加载项名称 [Macdata2],当我启动应用程序时它会与 excel 菜单集成。我现在附上了截图。

标签: c# excel vsto excel-addins


【解决方案1】:

避免启动延迟

您可以尝试延迟加载插件。您需要将注册表中插件的加载行为设置为 8 或 9。

仅当单击功能区选项卡时,加载项才会加载,但第一次显示功能区选项卡时也会有相同的延迟。

更多关于延迟加载插件的信息是here

【讨论】:

  • 感谢基鲁的回复,我会试试的。但我认为,延迟首次显示功能区选项卡是企业无法接受的。
  • 需要明确的是,当您启动 Excel 时会显示该选项卡,但只有在首次激活功能区选项卡时才会触发 Addin_Startup 事件和 Ribbon_Load。这是一个简单的更改,因此您可以尝试一下并查看
  • 在我的团队和业务人员进一步讨论后,我更改了加载项加载期间身份验证用户的实现。现在,每当他第一次调用后端服务时,我都会对用户进行身份验证。您的解决方案可能会在基于 VSTO 的加载项中正常工作。我正在使用具有其包装 API 的 Add-in express,但我无法找到如何延迟加载基于“Add-in Express”的 Excel 加载项。我很感谢你的帮助。谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多