开发excel电子表格实时共享应用程序我遇到了如何获取边界更改,颜色更改,多单元格编辑等事件...(使用VSTO但问题仍然存在......)
我尝试使用Excel DNA来使RTD服务器获得实时数据,但如何将工作表中的更改发送到RTD服务器?我正在尝试.net反应式扩展但是如何为excel电子表格更改编写自定义事件?
答案 0 :(得分:1)
Excel提供的COM对象模型,以及应用程序,工作表和其他对象公开的事件集,是Excel提供的最丰富的信息集。 VSTO和任何其他类型的加载项(包括使用Excel-DNA构建的加载项)受到Excel公开的相同COM对象模型和事件集的限制。
在COM对象模型事件中,Worksheet_SelectionChange
可能是监视格式更改的最佳事件。多单元格编辑应导致重新计算事件。
RTD是关于另一个方向的通知 - 告诉Excel数据已经更改,并且应该重新计算。
除了Excel对象模型之外,还有另外两种机制可能会引导您进入新的方向。第一个是VBA用于实现宏记录器的未记录机制。如果有人知道这个机制,并且它可以以某种方式挂钩或填充,它可能会让您访问由VBA记录到宏中的事件流。第二种方法是在Excel中使用UI自动化支持。通过它,您可以监视屏幕上发生的事情,屏幕阅读器将使用的级别。