如何:运行宏

更新:2007 年 11 月

记录或手动创建宏后,可以用下列方式运行它:

  • 在集成开发环境 (IDE) 中使用快捷键。

  • 在宏资源管理器中。

  • 在“查找/命令”框或“命令”窗口中。

  • 在宏 IDE 中。

由于安全原因,Visual Studio 不再支持双击 .Vsmacros 或 .Vsmproj 文件加载宏代码。

如果尚未重命名临时宏,则可以通过按 Ctrl + Shift + P 或选择“工具”菜单上“宏”子菜单中的“运行 TemporaryMacro”来运行它。不过,如果已经重命名宏,仍可以使用键盘快捷键访问它。Visual Studio 提供了将一个或多个键关联(或“绑定”)到键盘快捷键以调用宏的方法。按下按键序列时,将执行宏。下列过程说明如何将宏绑定到快捷键。

用快捷键在 IDE 中运行宏

  1. 继续以如何:录制宏中的示例为例,如果它已不存在,则可通过如下方法将文本文档还原为其以前的状态:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。

  2. 选择“工具”菜单上的“选项”以显示“选项”对话框。

  3. 在“环境”文件夹中,单击“键盘”。

  4. 在“显示命令包含”框中,键入“macros”。之后,所有以“macros”开头的命令都会出现在命令列表中。(如果没有更改临时宏名称,它应该是 Macros.MyMacros.RecordingModule.TemporaryMacro。)

  5. 将列表向下滚动到您的宏。

  6. 单击“按快捷键”框并键入快捷键,例如 Ctrl + Shift + Alt + A。这将是执行该宏的键盘快捷键。如果愿意,可以用不同的按键顺序。

  7. 单击“分配”,然后单击“确定”。现在宏绑定到了该快捷键。

  8. 返回到文本文档,按 Ctrl + Shift + Alt + A 调用宏。

当宏执行时,单词“one”从文本文件中消失。可以按照此过程创建任何宏,并给每个宏指派不同的快捷键。

说明:

某些键盘快捷键已被 Visual Studio 环境使用。如果事实如此,则会出现一个对话框,警告您所选的组合键是 Visual Studio 的一个默认键盘映射方案,不能修改。然后,它提供当前方案的副本,以便可以使用您选择的组合键。您可以选择这样做,但是要注意这样可能会导致您不希望发生的结果。例如,一个不熟悉您的键盘映射方案的人可能不小心运行了您的宏,而不是做他本来想做的操作,比如打开文件。

如何:录制宏 中,您记录了一个小的宏,该宏在运行时将从文本文档中删除单词。鉴于通过宏资源管理器运行宏是最常用的方法,下列过程说明如何执行此操作。

在宏资源管理器中运行宏

  1. 如果它已不存在,可将文本文档还原到它以前的状态,方法是:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。

  2. 在宏资源管理器中,打开“MyMacros”和“RecordingModule”节点,然后双击“TemporaryMacro”运行它。或者,可以按 Ctrl+Shift+P。

注意单词“one”被删除了。

可以使用“查找/命令”框或“命令”模式中的“命令”窗口运行宏。

在“查找/命令”框或“命令”窗口中运行宏

  1. 如果它已不存在,可将文本文档还原到它以前的状态,方法是:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。

  2. 转到“查找/命令”框,方法是按 Ctrl+/ 或在 Visual Studio 环境工具栏的顶部单击它(紧挨着望远镜按钮的右边)。若要转而查看“命令”窗口,请按 Ctrl + Alt + A。可以在任一位置发出命令。

  3. 如果它已不存在,则键入一个大于号字符 (>),将“查找/命令”框或“命令”窗口置于“命令”模式(相对于“查找”或“即时”模式)。

  4. 在大于号字符 (>) 后,键入“m”得到与宏相关的下拉命令列表。从列表中选择“Macros.MyMacros.RecordingModule.TemporaryMacro”并按 Enter。

注意文本文件中的单词“one”再次消失,您由此知道宏再次运行成功。

您还可以在宏 IDE(不要与“宏资源管理器”混淆)中运行宏。这主要对调试宏有用。有关此操作的信息,请参见 调试宏

在宏 IDE 中运行宏

  1. 如果它已不存在,可将文本文档还原到它以前的状态,方法是:重新键入单词“one”并在它后面加一个空格,然后按 Home 将插入点置于行首。

  2. 按 Alt+F11 或选择“工具”菜单上“宏”子菜单中的“宏 IDE”显示宏 IDE。

  3. 在宏 IDE 中右击“TemporaryMacro”,再选择“编辑”以查看其代码。

  4. 将光标置于 TemporaryMacro 函数中,然后按 F5 或选择“调试”菜单上的“启动”。

注意单词“one”再次消失,您由此知道宏再次运行成功。

可以取消宏的运行,比如当它处于无限循环中时,方法是单击“状态栏”中的旋转盒式磁带图标。也可以在宏 IDE 中调试宏。有关此操作的详细信息,请参见 调试宏。有关运行宏的其他提示,请参见宏的记录和运行问题

某些宏需要参数或开关。可以编程方式或者通过“查找/命令”框或“命令”窗口传递它们。不能通过宏资源管理器传递参数或开关。

将参数和开关传递给宏

  1. 若要以编程方式传递参数,请在宏的 Sub 中用参数构造宏,如:

    Sub Test(Optional ByVal FirstArg As String = "", Optional ByVal SecondArg As String = "")
       MsgBox(FirstArg & vbCr & SecondArg)
    End Sub
    
  2. 调用宏时,向调用添加参数,如:

    Test ("Test run number: ", 10)
    
  3. 若要通过“查找/命令”框或“命令”窗口向宏传递同样的参数,请在命令调用后列出参数,如:

    >Macros.MyMacros.Module1.Test "Test Run Number: " 10
    

请参见

任务

如何:管理宏

如何:在宏中引用 COM 和 .NET Framework 组件

如何:在宏中处理环境事件

概念

使用宏自动执行重复性操作

宏安全性和共享问题

参考

宏资源管理器窗口