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)