注意: 如果 Microsoft Jet 表达式服务在沙盒模式下运行,则禁用本主题中所述的函数、方法、对象或属性,这会阻止计算潜在的不安全表达式。 有关沙盒模式的详细信息,请在“帮助”中搜索“沙盒模式”。

运行可执行程序并返回 Variant (Double) 如果成功,则表示程序的任务 ID,否则返回零。

语法

shell ( pathname [windowstyle ] )

Shell 函数语法具有以下参数:

参数

说明

路径

必需。 变量 (字符串) 。 要执行的程序的名称以及任何必需的参数或 命令行 开关;可能包括目录或文件夹和驱动器。 在 Macintosh 上,可以使用 MacID 函数指定应用程序的签名而不是其名称。 以下示例使用 Microsoft Word 的签名: Shell MacID("MSWD")

windowstyle

可选。 Variant (Integer) 对应于要在其中运行程序的窗口的样式。 如果省略 windowstyle ,则以焦点启动程序。 在 Macintosh (System 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 启动的程序可能无法完成执行。

示例

注意: 下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

此示例使用 Shell 函数运行用户指定的应用程序。 在 MacIntosh 上,默认驱动器名称为“HD”,路径名的部分由冒号而不是反斜杠分隔。 同样,可以指定 Macintosh 文件夹而不是 \Windows。

' Specifying 1 as the second argument ' opens the application in normal size and ' gives it the focus.Dim RetVal' Run Calculator.RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。