【发布时间】:2012-09-23 23:38:21
【问题描述】:
在 Vsto-excel 项目中,我在特定模块中有一个 宏。 通过 C# 中的 code,我想启动显示给定 macro 的 VBA 编辑器。 我知道互操作概念,但我坚持启动 vba 编辑器并显示特定的宏。
【问题讨论】:
在 Vsto-excel 项目中,我在特定模块中有一个 宏。 通过 C# 中的 code,我想启动显示给定 macro 的 VBA 编辑器。 我知道互操作概念,但我坚持启动 vba 编辑器并显示特定的宏。
【问题讨论】:
您可以使用Application.Goto "MarcoName",它将在您指定的子/宏处打开 VBE。
【讨论】:
在打开的 Excel 工作表上的键盘快捷键 ALT + F11 默认打开 VBA 编辑器。 使用 excel interop 打开 excel 并使 excel 窗口可见。然后您可以将键盘快捷键从您的应用程序传递到 excel 窗口。
如果您在winform应用程序上使用它,您可以使用sendkeys方法将键盘快捷键传递给excel窗口。 http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx
否则使用 sendmessage 方法来传递键盘快捷键。这是关于 sendmessage 用法的帖子,c# Sending keyboard commands to another window / process。
【讨论】: