Funkcja Shell

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Uwaga

Funkcja, metoda, obiekt lub właściwość opisane w tym temacie są wyłączone, jeśli usługa wyrażeń Microsoft Jet działa w trybie piaskownicy, co uniemożliwia ocenę potencjalnie niebezpiecznych wyrażeń. Aby uzyskać więcej informacji o trybie piaskownicy, wyszukaj termin "tryb piaskownicy" w Pomocy.

Uruchamia program wykonywalny i zwraca wartość typu Wariant (Double) reprezentującą identyfikator zadania programu, jeśli zakończy się pomyślnie, w przeciwnym razie zwraca zero.

Składnia

Shell(nazwa_ścieżki [, stylokna] )

W składni funkcji Shell występują następujące argumenty:

Argumenty argumentów Opis
ścieżka Argument wymagany. Wariant (ciąg). Nazwa programu, który ma zostać uruchomiony, oraz wszelkie wymagane argumenty lub przełączniki wiersza poleceń; Może obejmować katalog lub folder i dysk. Na komputerach Macintosh można użyć funkcji MacID do określenia podpisu aplikacji zamiast jej nazwy. W poniższym przykładzie użyto podpisu dla programu Microsoft Word:Shell MacID("MSWD")
styl okna Argument opcjonalny. Wariant (liczba całkowita) odpowiadający stylowi okna, w którym program ma być uruchomiony. Jeśli windowstyle zostanie pominięty, program zostanie uruchomiony zminimalizowany z fokusem. Na komputerach Macintosh (System 7.0 lub nowszy) zmienna windowstyle określa tylko, czy aplikacja otrzymuje fokus podczas jej uruchamiania.

    

Argument o nazwie windowstyle ma następujące wartości:

Stała Wartość Opis
VBHIDE (Ukryj) 0 Okno jest ukryte, a fokus jest przekazywany do ukrytego okna. Stała vbHide nie ma zastosowania na platformach Macintosh.
vbNormalFocus 1 Okno ma fokus i zostaje przywrócone jego pierwotne położenie i rozmiar.
vbMinimizedFocus 2 Okno jest wyświetlane jako ikona z fokusem.
vbMaximizedFocus 3 Okno jest zmaksymalizowane z fokusem.
vbNormalNoFocus 4 Okno zostanie przywrócone do najnowszego rozmiaru i położenia. Obecnie aktywne okno pozostaje aktywne.
vbMinimizedNoFocus 6 Okno jest wyświetlane jako ikona. Obecnie aktywne okno pozostaje aktywne.

    

Uwagi

Jeśli funkcja Shell pomyślnie wykona nazwany plik, zwraca identyfikator zadania uruchomionego programu. Identyfikator zadania to unikatowy numer identyfikujący uruchomiony program. Jeśli funkcja Shell nie może uruchomić nazwanego programu, wystąpi błąd.

Na komputerach Macintosh vbNormalFocus, vbMinimizedFocus i vbMaximizedFocus umieszczają aplikację na pierwszym planie; vbHide, vbNoFocus, vbMinimizeFocus umieszczają aplikację w tle.

Uwaga

Domyślnie funkcja Shell uruchamia inne programy asynchronicznie. Oznacza to, że program uruchomiony za pomocą powłoki może nie zostać zakończony przed wykonaniem instrukcji następujących po funkcji powłoki .

Przykład

Uwaga

Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie użyto funkcji Shell do uruchomienia aplikacji określonej przez użytkownika. Na komputerach MacIntosh domyślną nazwą dysku jest "HD", a części ścieżki są oddzielone dwukropkami zamiast ukośnikami odwrotnymi. Podobnie należy określić foldery Macintosh zamiast \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)