Dela via


Program-VSTO-tillägg

När du utökar ett Microsoft Office-program genom att skapa ett VSTO-tillägg skriver du kod direkt mot ThisAddIn klassen i projektet. Du kan använda den här klassen för att utföra uppgifter som att komma åt objektmodellen i Microsoft Office-värdprogrammet, anpassa användargränssnittet (UI) för programmet och exponera objekt i ditt VSTO-tillägg till andra Office-lösningar.

Gäller för: Informationen i det här avsnittet gäller för VSTO-tilläggsprojekt. Mer information finns i Funktioner som är tillgängliga efter Office-program och projekttyp.

Vissa aspekter av att skriva kod i VSTO-tilläggsprojekt skiljer sig från andra typer av projekt i Visual Studio. Många av dessa skillnader beror på hur Office-objektmodellerna exponeras för hanterad kod. Mer information finns i Skriva kod i Office-lösningar.

Allmän information om VSTO-tillägg och andra typer av lösningar som du kan skapa med hjälp av Office-utvecklingsverktygen i Visual Studio finns i Översikt över utveckling av Office-lösningar (VSTO).

Använda klassen ThisAddIn

Du kan börja skriva din VSTO-tilläggskod i ThisAddIn klassen. Visual Studio genererar automatiskt den här klassen i kodfilen ThisAddIn.vb (i Visual Basic) eller ThisAddIn.cs (i C#) i ditt VSTO-tilläggsprojekt. Visual Studio Tools for Office-körningen instansierar automatiskt den här klassen åt dig när Microsoft Office-programmet läser in ditt VSTO-tillägg.

Det finns två standardhändelsehanterare i ThisAddIn klassen. Om du vill köra kod när VSTO-tillägget läses in lägger du till kod i ThisAddIn_Startup händelsehanteraren. Om du vill köra kod precis innan VSTO-tillägget tas bort lägger du till kod i ThisAddIn_Shutdown händelsehanteraren. Mer information om dessa händelsehanterare finns i Händelser i Office-projekt.

Anmärkning

I Outlook anropas inte alltid ThisAddIn_Shutdown händelsehanteraren som standard när VSTO-tillägget avaktiveras. Mer information finns i Händelser i Office-projekt.

Få åtkomst till objektmodellen för värdprogrammet

Om du vill komma åt objektmodellen för värdprogrammet använder du Application klassens ThisAddIn fält. Det här fältet returnerar ett objekt som representerar den aktuella instansen av värdprogrammet. I följande tabell visas typen av returvärde för Application fältet i varje VSTO-tilläggsprojekt.

Värdapplikation Returvärdetyp
Microsoft Office Excel Application
Microsoft Office InfoPath Application
Microsoft Office Outlook Application
Microsoft Office PowerPoint Ansökan
Microsoft Office-projekt Microsoft.Office.Interop.MSProject.Application
Microsoft Office Visio Microsoft.Office.Interop.Visio.Application
Microsoft Office Word Application

Följande kodexempel visar hur du använder fältet Application för att skapa en ny arbetsbok i ett VSTO-tillägg för Microsoft Office Excel. Det här exemplet är avsett att köras från ThisAddIn klassen.

Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);

Om du vill göra samma sak utanför ThisAddIn klassen använder du Globals objektet för att komma åt ThisAddIn klassen. Mer information om objektet finns i GlobalsGlobal åtkomst till objekt i Office-projekt.

Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);

Mer information om objektmodeller för specifika Microsoft Office-program finns i följande avsnitt:

Få åtkomst till ett dokument när Office-programmet startar

Alla Office 2010-program öppnar inte automatiskt ett dokument när du startar dem, och inget av Office 2013-programmen öppnar ett dokument när du startar dem. Lägg därför inte till kod i ThisAdd-In_Startup händelsehanteraren om koden kräver att ett dokument är öppet. Lägg i stället till koden i en händelse som Office-programmet genererar när en användare skapar eller öppnar ett dokument. På så sätt kan du garantera att ett dokument är öppet innan koden utför åtgärder på det.

Följande kodexempel fungerar bara med ett dokument i Word när användaren skapar ett dokument eller öppnar ett befintligt dokument.

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        this.Application.DocumentOpen +=
new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument);

        ((Word.ApplicationEvents4_Event)this.Application).NewDocument +=
            new Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument);  
    }
    
    private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc)
    {
        try
        {
            Word.Range rng = Doc.Range(0, 0);
            rng.Text = "New Text";
            rng.Select();
        }
        catch (Exception ex)
        {
            // Handle exception if for some reason the document is not available.
        }
    }

ThisAddIn-medlemmar att använda för andra uppgifter

I följande tabell beskrivs andra vanliga uppgifter och vilka medlemmar i ThisAddIn klassen som du kan använda för att utföra uppgifterna.

Task Medlem som kan använda
Kör kod för att initiera VSTO-tillägget när VSTO-tillägget läses in. Lägg till kod i ThisAddIn_Startup metoden. Det här är standardhändelsehanteraren för Startup händelsen. Mer information finns i Händelser i Office-projekt.
Kör kod för att rensa resurser som används av VSTO-tillägget innan VSTO-tillägget tas bort. Lägg till kod i ThisAddIn_Shutdown metoden. Det här är standardhändelsehanteraren för Shutdown händelsen. Mer information finns i Händelser i Office-projekt. Observera: I Outlook anropas som standard inte alltid händelsehanteraren när VSTO-tillägget avladdas. Mer information finns i Händelser i Office-projekt.
Visa ett anpassat åtgärdsfönster. Använd fältet CustomTaskPanes . Mer information finns i Anpassade åtgärdsfönster.
Exponera objekt i ditt VSTO-tillägg till andra Microsoft Office-lösningar. Åsidosätt RequestComAddInAutomationService metoden. För mer information, se Anropa kod i VSTO-tillägg från andra Office-lösningar.
Anpassa en funktion i Microsoft Office-systemet genom att implementera ett utökningsgränssnitt. Åsidosätt RequestService metoden för att returnera en instans av en klass som implementerar gränssnittet. Mer information finns i Anpassa gränssnittsfunktioner med hjälp av utökningsbarhetsgränssnitt. Not: Om du vill anpassa menyfliksområdets användargränssnitt kan du också åsidosätta CreateRibbonExtensibilityObject metoden.

Förstå utformningen av klassen ThisAddIn

I projekt som riktar sig mot .NET Framework 4 AddIn är ett gränssnitt. Klassen ThisAddIn härleds från AddInBase klassen. Den här basklassen omdirigerar alla anrop till dess medlemmar till en intern implementering av AddIn gränssnittet i Visual Studio Tools for Office-körningen .

I VSTO-tilläggsprojekt för Outlook ThisAddIn härleds klassen från Microsoft.Office.Tools.Outlook.OutlookAddIn klassen i projekt som riktar sig mot .NET Framework 3.5 och från OutlookAddInBase i projekt som riktar sig mot .NET Framework 4. Dessa basklasser tillhandahåller några ytterligare funktioner för att stödja formulärregioner. Mer information om formulärregioner finns i Skapa Outlook-formulärregioner.

Anpassa användargränssnittet för Microsoft Office-program

Du kan programmatiskt anpassa användargränssnittet för Microsoft Office-program med hjälp av ett VSTO-tillägg. Du kan till exempel anpassa menyfliksområdet, visa ett anpassat åtgärdsfönster eller skapa en anpassad formulärregion i Outlook. Mer information finns i Anpassning av Office-användargränssnittet.

Visual Studio innehåller designers och klasser som du kan använda för att skapa anpassade åtgärdsfönster, menyfliksområdesanpassningar och Outlook-formulärregioner. Dessa designers och klasser hjälper till att förenkla processen med att anpassa dessa funktioner. Mer information finns i Anpassade åtgärdsfönster, Ribbon Designer, och Skapa Outlook-formulärregioner.

Om du vill anpassa en av dessa funktioner på ett sätt som inte stöds av klasser och designers kan du även anpassa dessa funktioner genom att implementera ett utökningsgränssnitt i ditt VSTO-tillägg. Mer information finns i Anpassa gränssnittsfunktioner med hjälp av utökningsbarhetsgränssnitt.

Dessutom kan du ändra användargränssnittet för Word-dokument och Excel-arbetsböcker genom att generera värdobjekt som utökar beteendet för dokument och arbetsböcker. På så sätt kan du lägga till hanterade kontroller i dokument och kalkylblad. För mer information, se Utöka Word-dokument och Excel-arbetsböcker i VSTO-tillägg vid körtid.

Anropa kod i VSTO-tillägg från andra lösningar

Du kan exponera objekt i ditt VSTO-tillägg för andra lösningar, inklusive andra Office-lösningar. Detta är användbart om DITT VSTO-tillägg tillhandahåller en tjänst som du vill aktivera andra lösningar att använda. Om du till exempel har ett VSTO-tillägg för Microsoft Office Excel som utför beräkningar på finansiella data från en webbtjänst kan andra lösningar utföra dessa beräkningar genom att anropa till Excel VSTO-tillägget vid körning.

För mer information, se Anropa kod i VSTO-tillägg från andra Office-lösningar.