c# - 跟踪添加和删除的工作表

标签 c# excel vsto com-interop

我正在开发 Excel 插件,但遇到了障碍。

我想用 Excel 工作簿中的工作表更新组合框。目前我可以用 foreach 循环来做到这一点。但是,这在我运行时仅拾取添加或减去的工作表的意义上是有限的。我的插件看起来很俗气,有一个“刷新表”按钮,我想尽可能避免这种情况。

理想情况下,我能够将工作表对象数据绑定(bind)到组合框,这样它就可以在没有我干预的情况下即时更新。但是,我的研究表明它不支持这一点。我还没有尝试过,因为直到后来我才在我的开发计算机前,但我几乎可以肯定,因为它不继承 IList,它不能用作数据源。

有人做过类似的事情吗?我真的很想让这件事正常工作。

谢谢!

最佳答案

Excel.Application 对象有一个 WorkbookNewSheet 事件,该事件在添加新工作表时触发。不幸的是,它似乎没有在移除工作表时触发的事件。

您可以将您的组合框更新代码放在组合框的 DropDown 事件中。它在组合框打开时触发,您的代码可以在列表可见之前更新组合框项目。

关于c# - 跟踪添加和删除的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094996/

相关文章:

c# - 此插件导致 Outlook 启动缓慢

c# - WCF web 服务运行在两台服务器集群上,带有负载均衡器,解析 web 服务地址

javascript - 使用更改的 CSS 光标属性在不移动鼠标的情况下更新鼠标光标

c# - 将 vs 2012 C# 与 visio 2007 集成时出现 Com 错误

excel - 在 Node.js 中解析 xls/xlsx/xlsm

excel - VSTO Excel 工作簿加载项未通过 1 台计算机上的 Visual Studio 调试器加载

C# Outlook 2010 加载项 - AppointmentItem.ItemProperties.Add 异常

c# - 为什么 .NET Framework 4.0 中的 mscorlib 版本是 4.6.x?

c# - 使用 .NET Core 在 Mac OSX 上进行 Office (Excel) COM 互操作?

excel - 我的德语 Excel 无法识别英语日期