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 上,vbNormalFocus、vbMinimizedFocus 和 vbMaximizedFocus 會將應用程式置於前景;vbHide、vbNoFocus 和 vbMinimizeFocus 會將應用程式置於背景。
注意事項
根據預設,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 支援與意見反應。