Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Visual Studio 2013 innehåller projekt för att skapa anpassningar på dokumentnivå för Microsoft Office Word och Microsoft Office Excel. Det här avsnittet beskriver följande aspekter av anpassningar på dokumentnivå:
Så här fungerar anpassningar med Microsoft Office-program
Gäller för: Informationen i det här avsnittet gäller för projekt på dokumentnivå för Excel och Word. Mer information finns i Funktioner som är tillgängliga efter Office-program och projekttyp.
Allmän information om hur du skapar anpassningar på dokumentnivå finns i Översikt över Utveckling av Office-lösningar (VSTO),Kom igång med att programmera anpassningar på dokumentnivå för Word och Komma igång med att programmera anpassningar på dokumentnivå för Excel.
Förstå anpassningar
När du använder Office-utvecklarverktygen i Visual Studio för att skapa en anpassning på dokumentnivå skapar du en hanterad kodsammansättning som är associerad med ett visst dokument. Ett dokument eller en arbetsbok med en länkad sammansättning sägs ha hanterade kodtillägg. Mer information finns i Designa och skapa Office-lösningar.
När en användare öppnar dokumentet läses sammansättningen in av Microsoft Office-programmet. När sammansättningen har lästs in kan anpassningen svara på händelser medan dokumentet är öppet. Anpassningen kan också anropa objektmodellen för att automatisera och utöka programmet medan dokumentet är öppet, och det kan använda någon av klasserna i .NET Framework.
Sammansättningen kommunicerar med programmets COM-komponenter via programmets primära interop-sammansättning. Mer information finns i Office primary interop assemblies och Office solutions development overview (VSTO).
Om en användare öppnar flera anpassningar på dokumentnivå samtidigt läses varje sammansättning in i en annan programdomän. Det innebär att en lösning som beter sig felaktigt inte kan orsaka att andra lösningar misslyckas. Anpassningar på dokumentnivå är utformade för att fungera med ett enda dokument i en enda programdomän. De är inte utformade för kommunikation mellan dokument. Mer information om programdomäner finns i Programdomäner.
Anmärkning
Anpassningar på dokumentnivå som du skapar med hjälp av Office-utvecklarverktygen i Visual Studio är utformade för att endast användas när programmet startas av en slutanvändare. Om programmet till exempel startas programmässigt med automation kanske anpassningen inte fungerar som förväntat.
Design- och körningsupplevelser
För att förstå arkitekturen för anpassningar på dokumentnivå hjälper det till att förstå upplevelsen av att utforma en lösning och köra en lösning.
Designtid
Designtidsupplevelsen innehåller följande steg:
Utvecklaren skapar ett projekt på dokumentnivå i Visual Studio. Projektet innehåller dokumentet och sammansättningen som körs bakom dokumentet. Dokumentet kanske redan finns (skapat av en designer) eller så kan ett nytt dokument skapas tillsammans med projektet.
Designern – antingen utvecklaren som skapar projektet eller någon annan – skapar det slutliga utseendet och känslan i dokumentet för slutanvändaren.
Runtime
Körningsmiljön innehåller följande steg:
Slutanvändaren öppnar ett dokument eller en arbetsbok med hanterade kodtillägg.
Dokumentet eller arbetsboken läser in den kompilerade sammansättningen.
Sammansättningen svarar på händelser när användaren arbetar i dokumentet eller arbetsboken.
Utvecklar- och slutanvändarperspektiv jämfört
Eftersom utvecklaren främst arbetar i Visual Studio och slutanvändaren arbetar i Word eller Excel finns det två sätt att förstå anpassningar på dokumentnivå.
| Utvecklarperspektiv | Slutanvändarens perspektiv | 
|---|---|
| Med Visual Studio skriver utvecklaren kod som är tillgänglig för Word och Excel. Även om det kan tyckas att utvecklaren skapar en körbar fil som kör Word eller Excel, fungerar processen faktiskt tvärtom. Dokumentet är associerat med en sammansättning och innehåller en pekare till den sammansättningen. När dokumentet öppnas letar Word eller Excel upp sammansättningen och kör koden som svar på alla hanterade händelser.  | 
De som använder lösningen öppnar helt enkelt dokumentet eller arbetsboken (eller skapar ett nytt dokument från en mall) precis som de skulle öppna andra Microsoft Office-filer. Sammansättningen innehåller anpassningar i dokumentet eller arbetsboken, till exempel att automatiskt fylla den med aktuella data eller visa en dialogruta för att begära information.  | 
Dokumentformat som stöds för anpassningar på dokumentnivå
När du skapar ett anpassningsprojekt kan du välja formatet för det dokument som du vill använda i projektet. Mer information finns i Så här skapar du Office-projekt i Visual Studio.
I följande tabell visas de dokumentformat som du kan använda i anpassningar på dokumentnivå för Excel och Word.
| Excel | Ord | 
|---|---|
| Excel-arbetsbok (.xlsx) Makroaktiverad Excel-arbetsbok (.xlsm) Binär Excel-arbetsbok (.xlsb) Excel 97-2003-arbetsbok (.xls) Excel-mall (.xltx) Makroaktiverad Excel-mall (.xltm) Excel 97-2003-mall (.xlt)  | 
Word-dokument (.docx) Word-makroaktiverat dokument (.docm) Word 97-2003-dokument (.doc) Word-mall (.dotx) Word-makroaktiverad mall (.dotm) Word 97-2003-mall (.dot)  | 
Du bör endast utforma hanterade kodtillägg för dokument i de format som stöds. Annars kanske vissa händelser inte aktiveras när dokumentet öppnas i programmet. Händelsen aktiveras inte till exempel Open när du använder hanterade kodtillägg med arbetsböcker som sparats i Excel XML-kalkylbladsformatet eller i webbsidaformatet (.htm; .html).
Stöd för Word-dokument som har filnamnstillägg för .xml
Med projektmallarna på dokumentnivå kan du inte skapa projekt baserat på följande filformat:
Word XML-dokument (*xml).
Word 2003 XML-dokument (*xml).
Om du vill att slutanvändarna ska använda anpassningar i dessa filformat skapar och distribuerar du en anpassning som använder ett av de filformat som stöds som anges i tabellen ovan. När anpassningen har installerats kan slutanvändarna spara dokumentet i formatet Word XML-dokument (*xml) eller Word 2003 XML-dokumentformat (*xml) och anpassningen fortsätter att fungera som förväntat.
Komponenter av anpassningar
Huvudkomponenterna i en anpassning är dokumentet och sammansättningen. Utöver dessa komponenter finns det flera andra delar som spelar en viktig roll i hur Microsoft Office-program identifierar och läser in anpassningar.
Distributionsmanifest och programmanifest
Anpassningar använder distributionsmanifest och programmanifest för att identifiera och läsa in den senaste versionen av anpassningssammansättningen. Distributionsmanifestet pekar på det aktuella programmanifestet. Programmanifestet pekar på anpassningssammansättningen och anger den startpunktsklass (eller klasser) som ska köras i sammansättningen. Mer information finns i Program- och distributionsmanifest i Office-lösningar.
Visual Studio Tools för Office Runtime
Om du vill köra anpassningar på dokumentnivå som skapas med hjälp av Office-utvecklarverktygen i Visual Studio måste slutanvändardatorerna ha Visual Studio Tools för Office-körning installerat. Visual Studio Tools for Office-körtid innehåller ohanterade komponenter som läser in anpassningssamlingen och även en uppsättning hanterade samlingar. Dessa hanterade sammansättningar tillhandahåller den objektmodell som din anpassningskod använder för att automatisera och utöka värdprogrammet.
Mer information finns i Översikt över Visual Studio-verktyg för Office-körning.
Så här fungerar anpassningar med Microsoft Office-program
När en användare öppnar ett dokument som ingår i en Microsoft Office-anpassning använder programmet distributionsmanifestet som är länkat till dokumentet för att hitta och läsa in den senaste versionen av anpassningssammansättningen. Platsen för distributionsmanifestet lagras i en anpassad dokumentegenskap med namnet AssemblyLocation. Strängen som identifierar den här platsen infogas i egenskapen när du skapar lösningen.
Distributionsmanifestet pekar på programmanifestet, som sedan pekar på den senaste sammansättningen. Mer information finns i Program- och distributionsmanifest i Office-lösningar.
Följande bild visar den grundläggande arkitekturen för en anpassning på dokumentnivå.
              
              
            
Anmärkning
I Office-lösningar som riktar sig mot .NET Framework 4 anropar lösningarna objektmodellen för värdprogrammet med hjälp av pia-typinformation (primary interop assembly) som är inbäddad i lösningssammansättningen, i stället för att anropa till PIA direkt. Mer information finns i Designa och skapa Office-lösningar.
Inläsningsprocess
Följande steg inträffar när en användare öppnar ett dokument som ingår i en Microsoft Office-lösning.
Microsoft Office-programmet kontrollerar de anpassade dokumentegenskaperna för att se om det finns hanterade kodtillägg som är associerade med dokumentet. Mer information finns i Översikt över anpassade dokumentegenskaper.
Om det finns hanterade kodtillägg läser programmet inVSTOEE.dll, som läser inVSTOLoader.dll. Det här är ohanterade DLL:er som är inläsningskomponenterna för Visual Studio 2010 Tools for Office-körmiljön. Mer information finns i Översikt över Visual Studio Tools for Office-körtid.
VSTOLoader.dll läser in .NET Framework och startar den hanterade delen av Visual Studio Tools for Office-körningen .
Om dokumentet öppnas från en annan plats än den lokala datorn kontrollerar Visual Studio Tools for Office-körningen att dokumentets plats finns i listan Betrodda platser i Säkerhetscenterinställningar för det aktuella Office-programmet. Om dokumentplatsen inte finns på en betrodd plats är anpassningen inte betrodd och inläsningsprocessen stoppas här.
Visual Studio Tools for Office-körningen installerar lösningen om den inte har installerats ännu, laddar ned de senaste program- och distributionsmanifesten och utför en rad säkerhetskontroller. Mer information finns i Säkra Office-lösningar.
Om anpassningen är betrodd att köra använder Visual Studio Tools for Office-körningen distributionsmanifestet och programmanifestet för att söka efter sammansättningsuppdateringar. Om en ny version av sammansättningen är tillgänglig laddar körningen ned den nya versionen av sammansättningen till ClickOnce-cachen på klientdatorn. Mer information finns i Distribuera en Office-lösning.
Visual Studio Tools for Office runtime skapar en ny programdomän där anpassningsassemblyn ska läsas in.
Visual Studio Tools for Office-körningen läser in anpassningssammansättningen i programdomänen.
Visual Studio Tools for Office-körtidsmiljön anropar Startup-händelsehanteraren i anpassningssammansättningen. Mer information finns i Händelser i Office-projekt.