如何在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如何?