Funzione Shell

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Nota

La funzione, il metodo, la proprietà o l'oggetto descritto in questo argomento è disabilitato se Microsoft Jet Expression Service è in esecuzione in modalità sandbox, che impedisce la valutazione delle espressioni potenzialmente pericolose. Per altre informazioni sulla modalità sandbox, cercare "modalità sandbox" nella Guida.

Esegue un programma eseguibile e restituisce un oggetto Variant (Double) che rappresenta l'ID attività del programma in caso di esito positivo, altrimenti restituisce zero.

Sintassi

Shell(pathname [, windowstyle ] )

Gli argomenti della sintassi della funzione Shell sono i seguenti:

Argomento Descrizione
percorso Obbligatorio. Variant (String). Nome del programma da eseguire e gli eventuali argomenti o opzioni della riga di comando richiesti; Può includere directory o cartelle e unità. In Macintosh è possibile utilizzare la funzione MacID per specificare la firma di un'applicazione anziché il nome. Nell'esempio seguente viene usata la firma per Microsoft Word:Shell MacID("MSWD")
stile della finestra Facoltativo. Variant (Integer) corrispondente allo stile della finestra in cui deve essere eseguito il programma. Se windowstyle viene omesso, il programma viene avviato ridotto a icona con lo stato attivo. Su Macintosh (System 7.0 o versione successiva), windowstyle determina solo se l'applicazione ottiene o meno lo stato attivo quando viene eseguita.

    

L'argomento denominato windowstyle ha questi valori:

Costante valore Descrizione
vbHide 0 La finestra viene nascosta e lo stato attivo passa alla finestra nascosta. La costante vbHide non è applicabile sulle piattaforme Macintosh .
vbNormalFocus 1 La finestra ha lo stato attivo e viene ripristinata alle dimensioni e alla posizione originali.
vbMinimizedFocus 2 La finestra viene visualizzata come icona attiva.
vbMaximizedFocus 3 La finestra viene ingrandita con lo stato attivo.
vbNormalNoFocus 4 La finestra viene ripristinata alle dimensioni e alla posizione più recenti. La finestra attualmente attiva rimane attiva.
vbMinimizedNoFocus 6 La finestra viene visualizzata come icona. La finestra attualmente attiva rimane attiva.

    

Osservazioni

Se la funzione Shell esegue correttamente il file denominato, restituisce l'ID attività del programma avviato. L'ID attività è un numero univoco che identifica il programma in esecuzione. Se la funzione Shell non è in grado di avviare il programma indicato, si verifica un errore.

In Macintosh, vbNormalFocus, vbMinimizedFocus e vbMaximizedFocus posizionano l'applicazione in primo piano; vbHide, vbNoFocus, vbMinimizeFocus posizionano tutti l'applicazione in background.

Nota

Per impostazione predefinita, la funzione Shell esegue altri programmi in modo asincrono. Ciò significa che un programma avviato con Shell potrebbe non terminare l'esecuzione prima dell'esecuzione delle istruzioni che seguono la funzione Shell .

Esempio

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

In questo esempio viene utilizzata la funzione Shell per eseguire un'applicazione specificata dall'utente. Su MacIntosh, il nome dell'unità predefinito è "HD" e parti del nome del percorso sono separate da due punti anziché da barre rovesciate. Allo stesso modo, si specificano le cartelle Macintosh invece di \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)