Udostępnij za pośrednictwem


Dodatki programu VSTO

Po rozszerzeniu aplikacja pakietu Office licacji firmy Microsoft przez utworzenie dodatku VSTO napiszesz kod bezpośrednio względem ThisAddIn klasy w projekcie. Za pomocą tej klasy można wykonywać zadania, takie jak uzyskiwanie dostępu do modelu obiektów aplikacji hosta pakietu Microsoft Office, dostosowywanie interfejsu użytkownika aplikacji oraz uwidacznianie obiektów w dodatku VSTO do innych rozwiązań pakietu Office.

Dotyczy: informacje w tym temacie dotyczą projektów dodatków VSTO. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Niektóre aspekty pisania kodu w projektach dodatków VSTO różnią się od innych typów projektów w programie Visual Studio. Wiele z tych różnic wynika ze sposobu, w jaki modele obiektów pakietu Office są widoczne dla kodu zarządzanego. Aby uzyskać więcej informacji, zobacz Pisanie kodu w rozwiązaniach pakietu Office.

Aby uzyskać ogólne informacje na temat dodatków VSTO i innych typów rozwiązań, które można utworzyć przy użyciu narzędzi deweloperskich pakietu Office w programie Visual Studio, zobacz Omówienie programowania rozwiązań pakietu Office (VSTO).

Użyj klasy ThisAddIn

Możesz rozpocząć pisanie kodu dodatku VSTO w ThisAddIn klasie . Program Visual Studio automatycznie generuje tę klasę w pliku code ThisAddIn.vb (w Visual Basic) lub ThisAddIn.cs (w języku C#) w projekcie dodatku VSTO. Środowisko uruchomieniowe Visual Studio Tools dla pakietu Office automatycznie tworzy wystąpienie tej klasy, gdy aplikacja Microsoft aplikacja pakietu Office lication ładuje dodatek VSTO.

W klasie istnieją dwa domyślne programy obsługi zdarzeń ThisAddIn . Aby uruchomić kod po załadowaniu dodatku VSTO, dodaj kod do programu obsługi zdarzeń ThisAddIn_Startup . Aby uruchomić kod tuż przed zwolnieniem dodatku VSTO, dodaj kod do programu obsługi zdarzeń ThisAddIn_Shutdown . Aby uzyskać więcej informacji na temat tych programów obsługi zdarzeń, zobacz Zdarzenia w projektach pakietu Office.

Uwaga

W programie Outlook domyślnie ThisAddIn_Shutdown program obsługi zdarzeń nie zawsze jest wywoływany, gdy dodatek VSTO zostanie zwolniony. Aby uzyskać więcej informacji, zobacz Zdarzenia w projektach pakietu Office.

Uzyskiwanie dostępu do modelu obiektów aplikacji hosta

Aby uzyskać dostęp do modelu obiektów aplikacji hosta, użyj Application pola ThisAddIn klasy . To pole zwraca obiekt reprezentujący bieżące wystąpienie aplikacji hosta. W poniższej tabeli wymieniono typ wartości zwracanej dla Application pola w każdym projekcie dodatku VSTO.

Aplikacja hosta Zwracany typ wartości
Microsoft Office Excel Application
Microsoft Office InfoPath Application
Microsoft Office Outlook Application
Microsoft Office PowerPoint Aplikacja
Microsoft Office Project Microsoft.Office.Interop.MSProject.Application
Microsoft Office Visio Microsoft.Office.Interop.Visio.Application
Microsoft Office Word Application

Poniższy przykład kodu pokazuje, jak użyć Application pola do utworzenia nowego skoroszytu w dodatku VSTO dla programu Microsoft Office Excel. Ten przykład ma zostać uruchomiony z ThisAddIn klasy .

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

Aby wykonać to samo spoza ThisAddIn klasy, użyj Globals obiektu , aby uzyskać dostęp do ThisAddIn klasy. Aby uzyskać więcej informacji na temat Globals obiektu, zobacz Globalny dostęp do obiektów w projektach pakietu Office.

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

Aby uzyskać więcej informacji na temat modeli obiektów określonych aplikacja pakietu Office lications firmy Microsoft, zobacz następujące tematy:

Uzyskiwanie dostępu do dokumentu po uruchomieniu aplikacja pakietu Office licacji

Nie wszystkie aplikacje pakietu Office 2010 automatycznie otwierają dokument podczas ich uruchamiania, a żadna z aplikacji pakietu Office 2013 nie otwiera dokumentu po ich uruchomieniu. W związku z tym nie dodawaj kodu w procedurze ThisAdd-In_Startup obsługi zdarzeń, jeśli kod wymaga otwarcia dokumentu. Zamiast tego dodaj ten kod do zdarzenia, które aplikacja pakietu Office lication zgłasza, gdy użytkownik tworzy lub otwiera dokument. Dzięki temu można zagwarantować, że dokument jest otwarty, zanim kod wykona na nim operacje.

Poniższy przykład kodu współpracuje z dokumentem w programie Word tylko wtedy, gdy użytkownik utworzy dokument lub otworzy istniejący 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.
        }
    }

Ta liczba elementów członkowskich usługiAddIn do użycia w innych zadaniach

W poniższej tabeli opisano inne typowe zadania i pokazano, których elementów członkowskich ThisAddIn klasy można użyć do wykonywania zadań.

Zadanie Członek do użycia
Uruchom kod, aby zainicjować dodatek VSTO po załadowaniu dodatku VSTO. Dodaj kod do ThisAddIn_Startup metody . Jest to domyślna procedura obsługi zdarzeń dla Startup zdarzenia. Aby uzyskać więcej informacji, zobacz Zdarzenia w projektach pakietu Office.
Uruchom kod, aby wyczyścić zasoby używane przez dodatek VSTO przed zwolnieniem dodatku VSTO. Dodaj kod do ThisAddIn_Shutdown metody . Jest to domyślna procedura obsługi zdarzeń dla Shutdown zdarzenia. Aby uzyskać więcej informacji, zobacz Zdarzenia w projektach pakietu Office. Uwaga: w programie Outlook domyślnie ThisAddIn_Shutdown program obsługi zdarzeń nie zawsze jest wywoływany, gdy dodatek VSTO zostanie zwolniony. Aby uzyskać więcej informacji, zobacz Zdarzenia w projektach pakietu Office.
Wyświetlanie niestandardowego okienka zadań. CustomTaskPanes Użyj pola . Aby uzyskać więcej informacji, zobacz Niestandardowe okienka zadań.
Uwidaczniaj obiekty w dodatku VSTO do innych rozwiązań pakietu Microsoft Office. Zastąpij metodę RequestComAddInAutomationService . Aby uzyskać więcej informacji, zobacz Call code in VSTO Add-ins from other Office solutions (Wywoływanie kodu w dodatku VSTO z innych rozwiązań pakietu Office).
Dostosowywanie funkcji w systemie Microsoft Office przez zaimplementowanie interfejsu rozszerzalności. Zastąpi metodę RequestService , aby zwrócić wystąpienie klasy, która implementuje interfejs. Aby uzyskać więcej informacji, zobacz Dostosowywanie funkcji interfejsu użytkownika przy użyciu interfejsów rozszerzalności. Uwaga: aby dostosować interfejs użytkownika wstążki, możesz również zastąpić metodę CreateRibbonExtensibilityObject .

Omówienie projektu klasy ThisAddIn

W projektach przeznaczonych dla programu .NET Framework 4 AddIn jest interfejs. Klasa ThisAddIn pochodzi z AddInBase klasy . Ta klasa bazowa przekierowuje wszystkie wywołania do jego składowych do wewnętrznej implementacji interfejsu AddIn w środowisku uruchomieniowym Visual Studio Tools dla pakietu Office .

W projektach dodatków VSTO dla programu Outlook ThisAddIn klasa pochodzi z Microsoft.Office.Tools.Outlook.OutlookAddIn klasy w projektach przeznaczonych dla programu .NET Framework 3.5 i z OutlookAddInBase projektów przeznaczonych dla programu .NET Framework 4. Te klasy podstawowe zapewniają dodatkowe funkcje do obsługi regionów formularzy. Aby uzyskać więcej informacji na temat regionów formularzy, zobacz Tworzenie regionów formularzy programu Outlook.

Dostosowywanie interfejsu użytkownika aplikacja pakietu Office lications firmy Microsoft

Możesz programowo dostosować interfejs użytkownika aplikacja pakietu Office lications firmy Microsoft przy użyciu dodatku VSTO. Można na przykład dostosować wstążkę, wyświetlić niestandardowe okienko zadań lub utworzyć niestandardowy region formularza w programie Outlook. Aby uzyskać więcej informacji, zobacz Dostosowywanie interfejsu użytkownika pakietu Office.

Program Visual Studio udostępnia projektantów i klasy, których można użyć do tworzenia niestandardowych okienek zadań, dostosowań wstążki i regionów formularzy programu Outlook. Ci projektanci i klasy ułatwiają proces dostosowywania tych funkcji. Aby uzyskać więcej informacji, zobacz Niestandardowe okienka zadań, Projektant wstążki i Tworzenie regionów formularzy programu Outlook.

Jeśli chcesz dostosować jedną z tych funkcji w sposób, który nie jest obsługiwany przez klasy i projektantów, możesz również dostosować te funkcje, implementując interfejs rozszerzalności w dodatku VSTO. Aby uzyskać więcej informacji, zobacz Dostosowywanie funkcji interfejsu użytkownika przy użyciu interfejsów rozszerzalności.

Ponadto można zmodyfikować interfejs użytkownika dokumentów programu Word i skoroszytów programu Excel, generując elementy hosta, które rozszerzają zachowanie dokumentów i skoroszytów. Dzięki temu można dodawać kontrolki zarządzane do dokumentów i arkuszy. Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumentów programu Word i skoroszytów programu Excel w dodatku VSTO w czasie wykonywania.

Wywoływanie kodu w dodatku VSTO z innych rozwiązań

Możesz uwidocznić obiekty w dodatku VSTO do innych rozwiązań, w tym innych rozwiązań pakietu Office. Jest to przydatne, jeśli dodatek VSTO udostępnia usługę, której chcesz użyć innych rozwiązań. Jeśli na przykład masz dodatek VSTO dla programu Microsoft Office Excel, który wykonuje obliczenia na danych finansowych z usługi internetowej, inne rozwiązania mogą wykonywać te obliczenia, wywołując dodatek VSTO programu Excel w czasie wykonywania.

Aby uzyskać więcej informacji, zobacz Call code in VSTO Add-ins from other Office solutions (Wywoływanie kodu w dodatku VSTO z innych rozwiązań pakietu Office).