Opmerking: De functie, methode, object of eigenschap die in dit onderwerp wordt beschreven, is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandbox-modus, waardoor de evaluatie van mogelijk onveilige expressies wordt voorkomen. Zoek naar 'sandbox-modus' in de Help voor meer informatie over de sandboxmodus.
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). De naam van het programma dat moet worden uitgevoerd en eventuele 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 het argument vensterstijl weglaat, wordt het programma geminimaliseerd gestart en krijgt het de focus. Op een Mac (System 7.0 of hoger) bepaalt het argument vensterstijl alleen of de toepassing de focus krijgt wanneer de toepassing 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 Shell-functie gebruikt om een toepassing uit te voeren die is opgegeven door de gebruiker. Op de MacIntosh is de standaardnaam van het station 'HD' en worden delen van de padnaam gescheiden door dubbele punten in plaats van backslashes. Op dezelfde manier geeft u Macintosh-mappen op 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)