Shell 函数
运行可执行程序并在成功时返回表示程序的任务 ID 的 Variant (Double);否则返回零。
语法
Shell(pathname, [ windowstyle ])
Shell 函数语法具有以下命名参数:
Part | 说明 |
---|---|
pathname | 必需;Variant (String)。 要执行的程序的名称以及任何必需的参数或命令行开关;可能包括目录或文件夹和驱动器。 在 Macintosh 中,可以使用 MacID 函数指定应用程序的签名,而不是名称。 以下示例使用 Microsoft Word 的签名:Shell MacID("MSWD") |
windowstyle | 可选。 与要运行程序的窗口的样式对应的 Variant (Integer)。 如果省略 windowstyle,则在最小化焦点的情况下启动程序。 在 Macintosh(系统 7.0 或更高版本)上,windowstyle 仅确定程序在运行时是否获得焦点。 |
windowstyle 命名的参数具有以下这些值:
常量 | 值 | 说明 |
---|---|---|
vbHide | 0 | 窗口将隐藏,并且焦点将传递给隐藏窗口。 vbHide 常量在 Macintosh 平台中不适用。 |
vbNormalFocus | 1 | 窗口具有焦点且还原为其原始大小和位置。 |
vbMinimizedFocus | 2 | 窗口将显示为具有焦点的图标。 |
vbMaximizedFocus | 3 | 使用焦点最大化窗口。 |
vbNormalNoFocus | 4 | 窗口将还原为其最新的大小和位置。 当前活动窗口仍保持活动状态。 |
vbMinimizedNoFocus | 6 | 窗口将显示为图标。 当前活动窗口仍保持活动状态。 |
注解
如果 Shell 函数成功执行命名文件,它将返回已启动程序的任务 ID。 任务 ID 是标识正在运行的程序的唯一编号。 如果 Shell 函数无法启动指定的程序,则会发生错误。
在 Macintosh 中,vbNormalFocus、vbMinimizedFocus 和 vbMaximizedFocus 都将应用程序置于前台;vbHide、vbNoFocus 和 vbMinimizeFocus 都将应用程序置于后台。
注意
默认情况下,Shell 函数异步运行其他程序。 这意味着,在 Shell 函数之后的语句执行之前,随 Shell 启动的程序可能无法完成。 若要等待程序完成,请查看 确定 Shell 进程何时结束。
示例
此示例使用 Shell 函数运行用户指定的应用程序。 在 Macintosh 中,默认的驱动器名称为“HD”,路径名的各个部分用冒号而不是反斜杠分隔。 可以类似地指定 Macintosh 文件夹,而不是 \WINDOWS
。
' Specifying 1 as the second argument opens the application in
' normal size and gives it the focus.
Dim RetVal
RetVal = Shell("C:\WINDOWS\NOTEPAD.EXE", 1) ' Open Notepad.
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。