附註: 如果 Microsoft Jet Expression Service 在沙箱模式中執行,會停用本主題中所述的函數、方法、物件或屬性,以免評估可能不安全的表達式。 如需沙盒模式的詳細資訊,請在 [說明] 中搜尋「沙盒模式」。
執行可執行程式並傳回 Variant (Double) 成功時代表程式的任務識別碼,否則傳回零。
語法
Shell ( pathname [, windowstyle ] )
Shell 函數語法具有下列自變數:
引數 |
描述 |
路徑 |
必要。 Variant (String) 。 要執行之程序的名稱,以及任何必要的自變數或 命令列 參數;可能包含目錄或資料夾和磁碟驅動器。 在 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 函數成功執行具名的檔案,會傳回已啟動程式的任務識別碼。 工作標識碼是識別執行中程式的唯一號碼。 如果 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)