注意
如果 Microsoft Jet 表达式服务在沙盒模式下运行,则本主题中描述的函数、方法、对象或属性将被禁用,这会阻止对潜在不安全表达式进行评估。 有关沙盒模式的详细信息,请在帮助中搜索“沙盒模式”。
运行可执行程序,如果成功,则返回表示程序任务 ID (Double) 的变体,否则返回零。
语法
Shell (pathname [, windowstyle ] )
Shell 函数语法具有以下参数:
| 参数 | 说明 |
|---|---|
| pathname | 必需。
字符串) (变体。 要执行的程序的名称以及任何必需的参数或命令行开关;可能包括目录或文件夹和驱动器。 在 Macintosh 中,可以使用 MacID 函数指定应用程序的签名,而不是其名称。 以下示例使用 Microsoft Word 的签名:Shell MacID("MSWD") |
| 窗口样式 | 可选。 变体 (整数) 与要在其中运行程序的窗口样式相对应。 如果省略 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 中, vbNormalFocus、 vbMinimizedFocus 和 vbMaximizedFocus 都将应用程序置于前台; vbHide、 vbNoFocus、 vbMinimizeFocus 都将应用程序置于后台。
注意
默认情况下, 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)