从代码中调用Excelmacroslogging器

我需要一种以编程方式在Excel中启动macroslogging器的方式,并为将要创build的新macros提供名称。

这可以来自VSTO或VBA,或使用Office互操作程序集。

任何想法如何可以完成?

在VBA中:

Dim ctrlStart As CommandBarControl, ctrlStop As CommandBarControl Set ctrlStart = Application.CommandBars.FindControl(ID:=184) Set ctrlStop = Application.CommandBars.FindControl(ID:=2186) ctrlStart.Execute 'name part would go here, but first you have to deal with a modal dialog ctrlStop.Execute 

它看起来像RecordMacro控件上的Execute方法打开一个模式对话框。 没有办法为此提供参数,或者执行SendKeys等任何操作。 我看到这样做的唯一方法是编写一个将在事实后重命名macros的子。 确定新macros的名称会有点复杂,而且你仍然会有一个对话框来处理。