Programowanie dostosowań na poziome dokumentu

Rozszerzając programu Microsoft Office Word lub Microsoft Office Excel za pomocą dostosowania poziomie dokumentu, można wykonywać następujące zadania:

  • Automatyczne stosowanie przy użyciu jego modelu obiektowego.

  • Dodać formanty do powierzchni dokumentu.

  • Wywołanie języka Visual Basic dla kodu Applications (VBA) w dokumencie z zestawu dostosowywania.

  • Wywołanie kodu w zgromadzeniu dostosowania z poziomu języka VBA.

  • Zarządzanie niektórych aspektów dokumentu, podczas gdy na serwerze, na którym nie ma programu Microsoft Office zainstalowany.

  • Dostosowywanie interfejsu użytkownika (UI) aplikacji.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu dla następujących aplikacji: Excel 2013 i Excel 2010; Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Niektóre aspekty pisania kodu w poziomie dokumentów projektów różnią się od innych typów projektów w programie Visual Studio.Wiele z tych różnic są spowodowana przez sposób Office modeli obiektów są narażone na kod zarządzany.Aby uzyskać więcej informacji, zobacz Pisanie kodu dla rozwiązań pakietu Office.

Ogólne informacje na temat dostosowania poziomie dokumentu i inne rodzaje rozwiązań, można utworzyć za pomocą narzędzi programistycznych pakietu Office w programie Visual Studio, zobacz Rozwój rozwiązań Office ― Omówienie.

Korzystanie z klas wygenerowany w projektów na poziomie dokumentu

Podczas tworzenia projektu poziomie dokumentu, Visual Studio automatycznie generuje klasę w projekcie, które można użyć, aby rozpocząć pisanie kodu.Visual Studio generuje różnych klas dla programów Word i Excel:

  • W projektach na poziomie dokumentu dla programu Word, nosi nazwę klasy ThisDocument domyślnie.

  • Projekty poziomie dokumentu dla programu Excel mają wiele klas generowane: jeden dla sam skoroszyt i jeden dla każdego arkusza.Domyślnie te klasy mają następujące nazwy:

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

Wygenerowanej klasy zawiera programy obsługi zdarzeń, które są wywoływane, gdy dokument jest otwarty lub zamknięty.Aby uruchomić kod, gdy dokument jest otwarty, Dodaj kod, aby Startup programu obsługi zdarzeń.Aby uruchomić kod tylko w przypadku, przed zamknięciem dokumentu, Dodaj kod, aby Shutdown programu obsługi zdarzeń.Aby uzyskać więcej informacji, zobacz Zdarzenia w projektach pakietu Office.

Zrozumienie koncepcji wygenerowanych klas

W projektach działania z programem Program .NET Framework 4 lub Program .NET Framework 4.5, element host wpisuje się w Visual Studio Tools for Office Runtime są interfejsy, więc wygenerowanych klas nie może pochodzić ich wdrażania, od nich.Zamiast tego wygenerowanych klas dziedziczyć większość swoich członków następujące klasy podstawowej:

Te klasy podstawowej przekierować wszystkie wywołania członkom ich do wewnętrznego implementacji odpowiednich interfejsów elementu hosta w Visual Studio Tools for Office Runtime.Na przykład, jeśli wywołamy Protect metoda ThisDocument klasy, DocumentBase klasy przekierowuje to wywołanie do wewnętrznego wdrażania Document interfejsu w Visual Studio Tools for Office Runtime.

Uzyskiwanie dostępu do modelu obiektów aplikacji hosta

Aby uzyskać dostęp do modelu obiektów aplikacji hosta, należy używać członkami wygenerowanej klasy w projekcie.Każda z tych klas odnosi się do obiektu w modelu obiektów programu Excel lub Word i zawierają większość właściwości, metod i zdarzeń.Na przykład ThisDocument klasy w projekcie poziomie dokumentu w programie Word udostępnia większość tych samych elementów członkowskich jako Document obiektów w modelu obiektów programu Word.

Poniższy przykład kodu pokazuje sposób użycia modelu obiektów programu Word do zapisywania dokumentu, który jest częścią dostosowywania poziomie dokumentu dla programu Word.W tym przykładzie jest przeznaczony do uruchomienia z ThisDocument klasy.

Me.Save()
this.Save();

Aby zrobić to samo z poza ThisDocument klasy, użyj Globals sprzeciw wobec dostęp ThisDocument klasy.Na przykład, można dodać ten kod do pliku kod okienko akcji, jeśli mają zostać uwzględnione zapisać przycisku w okienku Akcje interfejsu użytkownika.

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

Ponieważ ThisDocument klasy uzyskuje większość jego członków, z Document hosta elementu Save metoda, która jest wywoływana w ten kod jest w rzeczywistości Save metoda Document hosta, towaru.Metoda ta odpowiada Save metoda Document obiektów w modelu obiektów programu Word.

Aby dowiedzieć się więcej na temat korzystania z modeli obiektów programu Word i Excel, zobacz Model obiektu Word — Omówienie i Model obiektu Excel ― Omówienie.

Aby uzyskać więcej informacji o Globals obiektów, zobacz Globalny dostęp do obiektów w projektach pakietu Office.

Dodawanie formantów do dokumentów

Aby dostosować interfejs użytkownika dokumentu, można dodawać formanty Windows Forms lub formantami hosta do powierzchni dokumentu.Łącząc różne zestawy formantów i pisania kodu, formanty można powiązać z danymi, zbieranie informacji od użytkownika i odpowiada na czynności użytkownika.

Formanty hosta są klas rozszerzających niektórych obiektów w modelu obiektów programu Word i Excel.Na przykład ListObject kontrola hosta zapewnia wszystkie funkcje z ListObject w programie Excel.Jednakże ListObject sterowanie hostem ma również dodatkowe zdarzenia i możliwości wiązania danych.

Aby uzyskać więcej informacji, zobacz Przegląd obiektów hosta i formantów hosta i Formanty formularzy Windows w dokumentach pakietu Office ― Omówienie.

Łączenie dostosowania poziomie dokumentu i VBA

W dokumencie, który jest częścią dostosowywania poziomie dokumentu, można użyć kodu VBA.W dokumencie można wywoływać kod VBA, z zestawu dostosowywania, a można także skonfigurować projekt był należy włączyć kod VBA w dokumencie, aby wywoływać kod w zgromadzeniu dostosowywania.

Aby uzyskać więcej informacji, zobacz Łączenie VBA i dostosowywanie na poziomie dokumentu.

Zarządzanie dokumentami na serwerze

Można zarządzać kilka różnych aspektów dostosowania poziomie dokumentu na serwerze, który nie ma programu Microsoft Office Word lub zainstalowany program Microsoft Office Excel.Na przykład można uzyskać dostęp i modyfikowanie danych w pamięci podręcznej danych dokumentu.Można również zarządzać zestaw dostosowania, który jest skojarzony z dokumentem.Na przykład można programistycznie usunąć zgromadzenie z dokumentu, aby dokument nie jest już działa swój kod, lub zespół programowo można dołączyć do dokumentu.

Aby uzyskać więcej informacji, zobacz Zarządzanie dokumentami na serwerze za pomocą klasy ServerDocument.

Dostosowywanie interfejsu użytkownika aplikacji pakietu Microsoft Office

Za pomocą dostosowania poziomie dokumentu, można dostosować interfejs użytkownika programu Word i Excel w następujący sposób:

Aby uzyskać więcej informacji na temat dostosowywania aplikacji interfejsu użytkownika pakietu Microsoft Office, zobacz Dostosowywanie interfejsu użytkownika pakietu Office.

Uzyskiwanie rozszerzyć obiektów z macierzystego obiekty pakietu Office w poziomie dokumentu dostosowań

Wiele obsługę zdarzeń dla zdarzenia Office otrzymują macierzystym obiekt pakietu Office, który reprezentuje skoroszytu, arkusza kalkulacyjnego lub dokumentu, który spowodował zdarzenie.W niektórych przypadkach można uruchamiać jakiś kod, tylko wtedy, gdy zdarzenie wywoływane, skoroszytu lub dokumentu w Twoje dostosowywania poziomie dokumentu.Na przykład w dostosowania poziomie dokumentu dla programu Excel, można uruchomić kodu, gdy użytkownik uaktywnia jeden z arkuszy w skoroszycie dostosowane, ale nie wtedy, gdy użytkownik uaktywnia arkusz w innym skoroszycie, co dzieje się otwartych w tym samym czasie.

Po obiektu macierzystego pakietu Office, można sprawdzić, czy ten obiekt został przedłużony do hosta elementu lub Sterowanie hostem w dostosowania poziomie dokumentu.Elementami hosta a formantami hosta są typy dostarczonych przez Visual Studio Tools for Office Runtime który Dodawanie funkcji do obiektów, które natywnie istnieje w modelu obiektu programu Word lub Excel (o nazwie macierzystego obiekty Office).Zbiorowo, elementami hosta a formantami hosta są również nazywane rozszerzonych obiektów. Aby uzyskać więcej informacji na temat elementami hosta a formantami hosta, zobacz Przegląd obiektów hosta i formantów hosta.

Opis GetVstoObject i HasVstoObject metody

Aby przetestować obiektu macierzystego pakietu Office, należy HasVstoObject i GetVstoObject metody w projekcie:

  • Użycie HasVstoObject metodę, aby ustalić, czy w trybie macierzystym Office obiekt ma rozszerzone obiektu w dostosowań.Ta metoda zwraca true Jeśli macierzysty obiekt Office ma rozszerzone obiektu, a false inaczej.

  • Użycie GetVstoObject metodę, aby pobrać rozszerzony obiektu dla obiektu macierzystego pakietu Office.Ta metoda zwraca ListObject, Workbook, Worksheet, lub Document obiektu, jeśli określony obiekt Office macierzystego ma jedną.W przeciwnym razie GetVstoObject zwraca null.Na przykład GetVstoObject metoda zwraca Document Jeśli określony Document jest obiektu źródłowego dla dokumentu w projekcie dokumentu programu Word.

W projektach na poziomie dokumentu, nie można użyć GetVstoObject metoda, aby utworzyć nową Workbook, Worksheet, lub Document elementu hosta w czasie wykonywania.Tej metody można użyć, aby uzyskać tylko dostęp do istniejących elementów hosta, które są generowane w projekcie w czasie projektowania.Jeśli chcesz utworzyć nowe elementy hosta w czasie wykonywania, musi opracować projektu na poziomie aplikacji.Aby uzyskać więcej informacji, zobacz Ograniczenia programowe elementów hosta i formantów hosta i Rozszerzanie dokumentów programu Word i skoroszytów w programie Excel w czasie wykonywania w dodatkach na poziomie aplikacji.

Za pomocą metody HasVstoObject i GetVstoObject

Aby zadzwonić do HasVstoObject i GetVstoObject metoda, użyj Globals.Factory.GetVstoObject lub Globals.Factory.HasVstoObject metoda i przebieg w macierzystym obiekt programu Word lub Excel (takie jak Document lub Worksheet), który chcesz przetestować.

Zobacz też

Koncepcje

Zarządzanie dokumentami na serwerze za pomocą klasy ServerDocument

Pisanie kodu dla rozwiązań pakietu Office

Inne zasoby

Formanty w dokumentach pakietu Office

Łączenie VBA i dostosowywanie na poziomie dokumentu