殼層函數

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

注意

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