注意: 如果 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 上, 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)