【发布时间】:2021-08-27 09:51:59
【问题描述】:
我正在使用Microsoft.Office.Interop.Excel,当用户删除 Excel 工作表时我需要调用自定义函数(右键单击工作表名称并删除)。
如何访问工作表删除事件?
我在 Microsoft Docs 中找到了 WorkbookEvents_SheetBeforeDeleteEventHandler,但我正在寻找类似 @987654324@ 的内容。
我怎样才能做到这一点?
【问题讨论】:
-
只是一个属于 hack 类别的建议:在“之前”事件上启动一个计时器,并在可接受的时间内轮询工作表的工作表存在,然后放弃计时器。如果工作表被真正删除,您将有机会以这种方式检测到它。这个解决方案显然是一个 hack(嘿,任何人,请不要因此而投反对票!)但如果你没有发现任何其他可能性,这可能会起作用。
-
@cly 感谢您的建议。顺便说一句,寻找一个可靠的解决方案而不是破解 :-)
-
我不确定WorkbookEvents_Event.SheetTableUpdate 做了什么(描述不是真正的描述性......),也许它会在一张纸被移除后引发?我要检查的其他候选人是 SheetActivate 和 SheetDeactivate。
-
@Steeeve 感谢您的建议。我想,我可以用
SheetActivate做点什么
标签: c# .net excel office-interop excel-interop