In sommige situaties kan u wilt openen een tweede Windows-toepassing, terwijl nog steeds actief zijn in een andere toepassing, zoals Excel. Afkorting voor Visual Basic for Applications, VBA biedt een methode met behulp van een paar regels code op te roepen van een andere toepassing zoals Microsoft Word tijdens het werken met Excel. Hoewel u het zelfde ding doen kon door eenvoudig met behulp van de opdracht "Start" om de tweede toepassing te openen, maakt met behulp van VBA het tweede programma asynchroon uitgevoerd. Dat wil zeggen, retourneert controle direct naar Excel, die nog steeds het uitvoeren van berekeningen zonder wijzigen naar de andere toepassing handmatig.
Open een nieuwe werkmap in Microsoft Excel. Klik op het tabblad 'Developer' in het hoofdmenu. Als u deze optie niet ziet, klikt u op de "Office" knop in de linker bovenhoek van Excel. Selecteer "Excel Options" in het venster en klik op het vak naast "Show Developer tab in het lint." Klik op 'OK'.
Het tabblad 'Visual Basic' nu zichtbaar in de rij van ontwikkelaar opties. Hiermee opent u een Visual Basic for Applications (VBA) ontwikkeling venster.
Klik op "Weergave" in de lijst boven in het menu op het venster van de ontwikkeling. Klik op "Code" van het drop-down lijst.
Voer de volgende code:
Private Sub CommandButton1_Click()
Dim AppName As String
' De volgende regel stelt een manier voor u om te kiezen van de Windows-app
' AppName = InputBox ("Enter het pad en de uitvoerbare naam van de toepassing")
' De volgende regel ziet u hoe u moet opgeven van de pad en uitvoerbare bestandsnaam voor App
"AppName =" C:\Program Dossiers (x86) \Microsoft Office\Office12\winword.exe "
' Als de App in het normale pad als Word, Notepad, Excel IE en andere Microsoft-standaarden is ' zijn, dan u niet het volledige pad hoeft. Voer alleen het eigenlijke programma uitvoerbare bestand zoals u zien.
AppName = "winword.exe"
Shell AppName, vbNormalFocus
End SubOpmerking: De regels die beginnen met apostroffen niet uitvoeren.
Keren naar het werkblad scherm, gedeeltelijk verborgen achter de codering windows. Klik op de naar beneden wijzende pictogram in het "Invoegen" tabblad van de ontwikkelaar-menu. Dubbelklik op het pictogram van de "Command Button" in de sectie "ActiveX-besturingselementen". Dit wordt de knop toegevoegd aan het Excel-werkblad met de standaardnaam "CommandButton1." Sleep deze knop met de muis op een afgelegen locatie op het werkblad. Dubbelklik op de knop om te verifiëren dat de code die u in stap 3 hebt ingevoerd verschijnt. Als dit niet het geval is, controleert u de code-scherm, met name om ervoor te zorgen de naam van de Sub (subroutine) boven wedstrijden de naam op de opdrachtknop.
Sla het werkblad op als een versie met ingeschakelde macro's. Sluit het werkbladbestand. Opent u het opnieuw, en toen waarschuwde over het uitvoeren van macro's, de optie "' macro's inschakelen.
Klik op "Home" in het hoofdmenu. Klik op de knop die u hebt gemaakt in het werkblad en Microsoft Word geopend. Terug naar de sectie van de VBA-code en wijzig de coderegels zodat deze overeenkomen met welke toepassingen u wilt uitvoeren. Verwijder de apostrof in het begin van de regel "'AppName = Input Box" om het te maken uitvoerbaar. Vervolgens wordt u gevraagd voor een toepassing. Verwijderen van de lijnen die beginnen ' AppName="winword.exe ' en ' AppName ="C:\Program Files"zodat kunt u een app die u wenst.
- Uw programma door de CommandButton hernoemen naar iets duidelijkers, zoals aankleden "Start een andere toepassing." Klik met de rechtermuisknop op de knop en kies "Eigenschappen" de rug-kleur, lettertype en andere optredens wijzigen.
- Vanwege de asynchrone aard van het shellcommando, afhankelijk van de maatregelen die zijn genomen onder de opdracht, voltooid het proces niet voordat de volgende instructie wordt uitgevoerd. Volgens "Mastering VBA," kan "dit fouten veroorzaken in uw procedures als latere opdrachten is afhankelijk van de instructie van de Shell hebben uitgevoerd."