Verktyg i Visual Studio för Office-paketet

VSTO

VSTO (Visual Studio Tools for Office) är utvecklingverktygen som används för att skapa tilläggsmoduler till Microsoft Office 2003 och senare Office-versioner, baserade på .NET Framework. Verktygen (mallar till Microsoft Visual Studio och ett runtimebibliotek) gör att Office-programmen kan exponera funktionalitet via typsystemet i .NET. På det här sättet kan tillägg till Office-programmen skrivas i CLI-kompatibla programspråk och använda funktioner och gränssnitt från Office-programmen i .NET-baserade program.

Officetillägg som fanns tidigare (före Office 2003) gjorde så att man kunde skapa COM-add-in genom att använda Visual Basic eller Visual C++. En Developer Edition erbjöds också för att möjliggöra för VBA-utvecklare att skapa COM Add-ins.

VSTO ersätter alltså tidigare utgåvor av Developer Editions för Office 2000 och Office XP. Om så önskas finns VSTO runtime tillgängligt för nedladdning separat. Det är fortfarande möjligt att utveckla COM-add-in för Office 2000 och senare versioner i Visual Studio genom att använda templaten Shared Add-in.

Jämförelse med VBA

I likhet med VBA så exekveras VSTO-kod av en separat virtuell maskin (CLR) i Microsoft Office-applikationen. Men, till skillnad från VBA (där kod lagras i dokumentet självt), kod som är skriven i VSTO finns lagrad i separata CLI-moduler som sedan knyts ihop med dokumentet. Om så är fallet kommer Microsoft Office en värd som laddar in assemblyn i en applikationsdomän. VSTO-applikationer omfattas av säkerhetstänket i .NET-framework (en artefakt som beskriver applikationen samt vilka rättigheter den har).

Vanligtvis genomförs VSTO-utveckling i Visual Studio av professionella programmerare (vid varje debuggning (åter)startas officeapplikationen där koden ska exekvera). Detta är skillnad mot VBA-utveckling då VBA-applikationen skrivs in direkt i den aktuella Office-produkten – då behövs inga särskilda verktyg.

Common Language Infrastructure (CLI) är en öppen specifikation utvecklad av Microsoft som beskriver exekverbar kod och en exekveringsmiljö som utgör kärnan i av ett flertal implementationer. Specifikationen beskriver en programmiljö som tillåter flera högnivå-pråk att användas på olika datorplattformar utan att behöva skriva om dem för den specifika arkitekturen.

Annonser