如何在Excel VSTO加载项中为OnUndo调用C#方法?

我目前正在为C#编写一个VSTO加载项,并且无法正确使用撤消function。

据我可以告诉从文档,你打算使用Application.OnUndo注册撤消callback。 但是,我不清楚是否可以使用Procedure参数来引用C#方法。


理想情况下,我想将撤消callback设置为实例方法,例如:

 this.Application = Globals.ThisAddIn.Application; // ... this.Application.OnUndo("Undo color change", "this.UndoTextColorChange"); 

不幸的是,虽然这注册撤消,实际上单击Excel中的“撤消”给出的错误:

无法运行macros“this.UndoTextColorChange”。 macros可能不在此工作簿中可用或所有macros可能被禁用。

对我来说,这几乎表明, Procedure参数必须是一个VBmacros(而不是一个C#方法)。 但是,也有可能我无法在.OnUndo调用中使用完全限定的过程名称。


是否有可能使Application.OnUndo调用C#方法? 如果是这样,我应该用什么作为Procedure的论据? 如果不是,通常在C#VSTO加载项中实现撤消function如何?