如何:运行宏
记录或手动创建宏后,可以用下列方式运行它:
在集成开发环境 (IDE) 中使用快捷键。
在 Macro 资源管理器中。
在“查找/命令”框或“命令”窗口中。
在宏 IDE 中。
由于安全原因,Visual Studio 不再支持双击 .Vsmacros 或 .Vsmproj 文件加载宏代码。
如果尚未重命名临时宏,则可以通过按 Ctrl + Shift + P 或选择**“工具”菜单上“宏”子菜单中的“运行 TemporaryMacro”**来运行它。 不过,如果已经重命名宏,仍可以使用键盘快捷键访问它。 Visual Studio 提供了将一个或多个键关联(或“绑定”)到键盘快捷键以调用宏的方法。 按下按键序列时,将执行宏。 下列过程说明如何将宏绑定到快捷键。
用快捷键在 IDE 中运行宏
继续以如何:录制宏中的示例为例,如果它已不存在,则可通过如下方法将文本文档还原为其以前的状态:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。
选择**“工具”菜单上的“选项”以显示“选项”**对话框。
在“环境”文件夹中,单击**“键盘”**。
在**“显示命令包含”**框中,键入“macros”。之后,所有以“macros”开头的命令都会出现在命令列表中。 (如果没有更改临时宏名称,它应该是 Macros.MyMacros.RecordingModule.TemporaryMacro。)
将列表向下滚动到您的宏。
单击**“按快捷键”**框并键入组合键,例如 Ctrl+Shift+Alt+A。 这将是执行该宏的键盘快捷键。 如果愿意,可以用不同的按键顺序。
单击**“分配”,然后单击“确定”**。 现在宏绑定到了该快捷键。
返回到文本文档,按 Ctrl + Shift + Alt + A 调用宏。
当宏执行时,单词“one”从文本文件中消失。 可以按照此过程创建任何宏,并给每个宏指派不同的快捷键。
提示
某些键盘快捷键已被 Visual Studio 环境使用。 如果事实如此,则会出现一个对话框,警告您所选的组合键是 Visual Studio 的一个默认键盘映射方案,不能修改。 然后,它提供当前方案的副本,以便可以使用您选择的组合键。 您可以选择这样做,但是要注意这样可能会导致您不希望发生的结果。 例如,一个不熟悉您的键盘映射方案的人可能不小心运行了您的宏,而不是做他本来想做的操作,比如打开文件。
在 如何:录制宏 中,您记录了一个小的宏,该宏在运行时将从文本文档中删除单词。 鉴于通过 Macro 资源管理器运行宏是最常用的方法,下列过程说明如何执行此操作。
在 Macro 资源管理器中运行宏
如果它已不存在,可将文本文档还原到它以前的状态,方法是:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。
在 Macro 资源管理器中,打开“MyMacros”和“RecordingModule”节点,然后双击“TemporaryMacro”运行它。 或者,可以按 Ctrl+Shift+P。
注意单词“one”被删除了。
可以使用“查找/命令”框或“命令”模式中的“命令”窗口运行宏。
在“查找/命令”框或“命令”窗口中运行宏
如果它已不存在,可将文本文档还原到它以前的状态,方法是:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。
转到“查找/命令”框,方法是按 Ctrl+/ 或在 Visual Studio 环境工具栏的顶部单击它(紧挨着望远镜按钮的右边)。 若要转而查看“命令”窗口,请按 Ctrl+Alt+A。 可以在任一位置发出宏命令。
如果它已不存在,则键入一个大于号字符 (>),将“查找/命令”框或“命令”窗口置于“命令”模式(相对于“查找”或“即时”模式)。
在大于号字符 (>) 后,键入“m”得到与宏相关的下拉命令列表。 从列表中选择“Macros.MyMacros.RecordingModule.TemporaryMacro”并按 Enter。
注意文本文件中的单词“one”再次消失,您由此知道宏再次运行成功。
您还可以在宏 IDE(不要与“Macro 资源管理器”混淆)中运行宏。 这主要对调试宏有用。 有关此操作的信息,请参见 调试宏。
在宏 IDE 中运行宏
如果它已不存在,可将文本文档还原到它以前的状态,方法是:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。
按 Alt+F11 或选择**“工具”菜单上“宏”子菜单中的“宏 IDE”**显示宏 IDE。
在宏 IDE 中右击“TemporaryMacro”,再选择**“编辑”**以查看其代码。
将光标置于 TemporaryMacro 函数中,然后按 F5 或选择“调试”菜单上的**“启动”**。
注意单词“one”再次消失,您由此知道宏再次运行成功。
可以取消宏的运行,比如当它处于无限循环中时,方法是单击“状态栏”中的旋转盒式磁带图标。 也可以在宏 IDE 中调试宏。 有关此操作的详细信息,请参见 调试宏。 有关运行宏的其他提示,请参见宏的录制和运行问题。
某些宏需要参数或开关。 可以编程方式或者通过“查找/命令”框或“命令”窗口传递它们。 不能通过 Macro 资源管理器传递参数或开关。
将参数和开关传递给宏
若要以编程方式传递参数,请在宏的 Sub 中用参数构造宏,如:
Sub Test(Optional ByVal FirstArg As String = "", Optional ByVal SecondArg As String = "") MsgBox(FirstArg & vbCr & SecondArg) End Sub
调用宏时,向调用添加参数,如:
Test ("Test run number: ", 10)
若要通过“查找/命令”框或“命令”窗口向宏传递同样的参数,请在命令调用后列出参数,如:
>Macros.MyMacros.Module1.Test "Test Run Number: " 10
请参见
任务
如何:在宏中引用 COM 和 .NET Framework 组件