Opmerking
De functie, de methode, het object of de eigenschap die in dit onderwerp wordt beschreven, is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandboxmodus. Hierdoor wordt de evaluatie van potentieel onveilige expressies voorkomen. Zoek in de Help naar 'sandbox-modus' voor meer informatie over de sandbox-modus.
Hiermee voert u een uitvoerbaar programma uit en wordt er een variant van het type Dubbele precisie geretourneerd om de taak-id van het programma aan te geven als de uitvoering is gelukt. Anders wordt er nul geretourneerd.
Syntaxis
Shell(padnaam [, vensterstijl ] )
De syntaxis van de functie Shell bevat deze argumenten:
| Argument | Beschrijving |
|---|---|
| padnaam | Vereist.
Variant (tekenreeks). Naam van het programma dat moet worden uitgevoerd en eventuele vereiste argumenten of schakelopties voor de opdrachtregel; kan een map en station bevatten. Op de Mac kunt u de functie MacID gebruiken om de handtekening van een toepassing op te geven in plaats van de naam. In het volgende voorbeeld wordt de handtekening voor Microsoft Word gebruikt:Shell MacID("MSWD") |
| vensterstijl | Optioneel. Een variant (geheel getal) die overeenkomt met de stijl van het venster waarin het programma wordt uitgevoerd. Als u windowstyle weglaat, wordt het programma geminimaliseerd gestart met de focus. Op de Macintosh (Systeem 7.0 of hoger) bepaalt windowstyle alleen of de toepassing wel of niet de focus krijgt wanneer deze wordt uitgevoerd. |
Het benoemde argument vensterstijl heeft de volgende waarden:
| Constante | Waarde | Beschrijving |
|---|---|---|
| vbHide | 0 | Het venster is verborgen en de focus wordt doorgegeven aan het verborgen venster. De constante vbHide is niet van toepassing op Mac-platforms. |
| vbNormalFocus | 1 | Het venster heeft de focus heeft en wordt weergegeven met de oorspronkelijke grootte en positie. |
| vbMinimizedFocus | 2 | Het venster wordt weergegeven als een pictogram met de focus. |
| vbMaximizedFocus | 3 | Het venster wordt gemaximaliseerd met de focus. |
| vbNormalNoFocus | 4 | De meest recente grootte en positie van het venster worden hersteld. Het momenteel actieve venster blijft actief. |
| vbMinimizedNoFocus | 6 | Het venster wordt weergegeven als een pictogram. Het momenteel actieve venster blijft actief. |
Opmerkingen
Als met Shell het benoemde bestand wordt uitgevoerd, wordt de taak-id van het gestarte programma geretourneerd. De taak-id is een uniek nummer waarmee het uitgevoerde programma wordt aangegeven. Als de functie Shell het benoemde programma niet kan starten, treedt er een fout op.
Op de Mac wordt de toepassing met vbNormalFocus, vbMinimizedFocus en vbMaximizedFocus op de voorgrond geplaatst. Met vbHide, vbNoFocus en vbMinimizeFocus wordt de toepassing op de achtergrond geplaatst.
Opmerking
De standaardinstelling is dat andere programma's asynchroon worden uitgevoerd met Shell. Dit betekent dat een programma dat is gestart met Shell mogelijk pas wordt voltooid nadat de instructies na Shell zijn uitgevoerd.
Voorbeeld
Opmerking
In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In dit voorbeeld wordt de functie Shell gebruikt om een toepassing uit te voeren die door de gebruiker is opgegeven. Op een Mac is 'HD' de standaardnaam van het station en worden gedeelten van de padnaam gescheiden door dubbele punten in plaats van backslashes. U moet dan ook Macintosh-mappen opgeven in plaats van \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)