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 中,vbNormalFocusvbMinimizedFocusvbMaximizedFocus 都将应用程序置于前台;vbHidevbNoFocusvbMinimizeFocus 都将应用程序置于后台。

注意

默认情况下,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 支持和反馈,获取有关如何接收支持和提供反馈的指南。