注意
如果 Microsoft Jet 運算式服務以沙箱模式執行,則會停用本主題中所述的函數、方法、物件或屬性,這會防止評估可能不安全的運算式。 如需沙箱模式的詳細資訊,請在說明中搜尋「沙箱模式」。
執行可執行程式,如果成功,會傳回代表程式工作識別碼 (Double) 的變體,否則傳回零。
語法
Shell (pathname [, windowstyle ] )
Shell 函數語法具有下列引數:
| 引數 | 描述 |
|---|---|
| pathName | 必要。 字串) (變體。 要執行的程式名稱以及任何必要的引數或命令列參數;可能包含目錄或資料夾和磁碟機。 在 Macintosh 上,您可以使用 MacID 函數來指定應用程式的簽名,而不是其名稱。 下列範例使用 Microsoft Word 的簽名:Shell MacID("MSWD") |
| 視窗樣式 | 可省略。 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)