Excel DNA如何获取电子表格中每个小改动的事件?

开发Excel电子表格实时共享应用程序我被困在如何获取边界变化,颜色变化,多单元格编辑等事件…(使用VSTO,但问题仍然存在…)

我试过Excel的DNA,使RTD服务器获得实时数据,但如何发送到RTD服务器表中的变化? 我正在尝试.NET反应式扩展,但如何编写Excel电子表格变化的自定义事件?

Excel提供的COM对象模型以及由应用程序,工作表和其他对象公开的事件集合是Excel中最丰富的信息集合。 VSTO以及其他任何types的加载项(包括使用Excel-DNA构build的那些加载项)受到由Excel公开的相同COM对象模型和事件集的限制。

在COM对象模型事件中, Worksheet_SelectionChange可能是监视格式更改的最佳select。 多单元格编辑应导致重新计算事件。

RTD是关于另一个方向的通知 – 告诉Excel数据已经改变,并且应该重新计算。

除了Excel对象模型之外,还有其他两种机制可能会带您进入新的方向。 首先是VBA用来实现macroslogging器的未公开的机制。 如果有人知道这个机制的任何内容,并且可以以某种方式挂钩或者填充,那么可以让你访问由VBAlogging的事件stream到macros中。 第二种方法是在Excel中使用UI Automation支持。 有了这个,你可以监视屏幕上发生的事情,在屏幕阅读器将使用的水平。