Shell 函數

執行可執行程式,並傳回Variant (Double) 代表程式的工作識別碼成功,否則會傳回零。

語法

Shell(pathname, [ windowstyle ])

Shell 函數語法具有下列具名引數

部分 描述
pathname 必要項目;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 上,vbNormalFocusvbMinimizedFocusvbMaximizedFocus 會將應用程式置於前景;vbHidevbNoFocusvbMinimizeFocus 會將應用程式置於背景。

注意事項

根據預設,Shell 函數會以非同步方式執行其他程式。 這表示在執行 Shell 函數之後的陳述式之前,以 Shell 啟動的程式可能無法完成執行。 若要等待程式完成,請參閱 決定使用 Shell 啟動的程式何時結束

範例

此範例使用 Shell 函數來執行使用者所指定的應用程式。 在 Macintosh 中,預設磁碟機名稱為 "HD",而路徑名稱的部分則是以分號隔開,而不是反斜線。 同樣地,您會指定 Macintosh 資料夾,而不是 \WINDOWS

' Specifying 1 as the second argument opens the application in 
' normal size and gives it the focus.
Dim RetVal
RetVal = Shell("C:\WINDOWS\NOTEPAD.EXE", 1)    ' Open Notepad.

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應