Visual Basic for Applications:
Använda en interaktiv skal (REPL)
Hur:
Visual Basic for Applications (VBA) stödjer inte nativt en interaktiv skal eller REPL-upplevelse som man ser i språk som Python eller JavaScript. Dock kan du simulera denna upplevelse till en viss grad med Händelsefönstret i VBA IDE (Integrerad Utvecklingsmiljö).
Att komma åt Händelsefönstret:
- Öppna VBA IDE genom att trycka på
Alt + F11
i ditt Office-program. - Om Händelsefönstret inte är synligt kan du öppna det genom att trycka på
Ctrl + G
eller välja det från Vy-menyn.
Använda Händelsefönstret som ett REPL:
- För att exekvera en rad kod, skriv den helt enkelt i Händelsefönstret och tryck Enter. Till exempel:
Debug.Print 2 + 2
- Exempelutdata:
4
- Du kan också anropa funktioner och subrutiner som definieras i dina moduler:
Public Sub SayHello()
Debug.Print "Hej, Världen!"
End Sub
- Och sedan i Händelsefönstret:
Call SayHello
- Exempelutdata:
Hej, Världen!
Notera: Händelsefönstret har begränsningar. Det är utmärkt för snabba tester och direkta funktionsanrop, men det stödjer inte att definiera funktioner eller subrutiner direkt inom det. Komplexa felsöknings- och programmeringsuppgifter kan kräva fullständig modulutveckling.
Fördjupning
Händelsefönstret i VBA tjänar som den närmaste motsvarigheten till interaktiva skal som finns i andra programmeringsekosystem, trots dess begränsningar. Historiskt har VBA varit fokuserat på att utöka funktionerna i Microsoft Office-applikationer genom skript och makron snarare än fristående programutveckling, vilket kanske förklarar frånvaron av en fullfjädrad REPL.
För uppgifter som kräver omfattande interaktiv testning eller komplex logikutveckling kan andra programmeringsmiljöer utrustade med inbyggt REPL-stöd, såsom Python med sitt IDLE, eller JavaScript med Node.js, erbjuda bättre alternativ. Dessa miljöer erbjuder inte bara interaktiva skal utan också mer robust programmering, felsökning och testfaciliteter.
Händelsefönstret erbjuder dock ett ovärderligt verktyg för att snabbt testa uttryck, köra funktioner och direkt manipulera objekt i Office-applikationer. Som sådant intar det en viktig nisch inom VBA-utvecklingsprocessen, erbjuder en omedelbarhet och bekvämlighet som är oöverträffad av mer traditionella kompilera-köra-debugga-cykler, om än med de förstådda begränsningarna av dess operativa omfång.