Udostępnij za pośrednictwem


Dostosowania poziomu dokument programowania

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.

Dotyczy: Informacje przedstawione w tym temacie dotyczą 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 aplikacji 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 Pisania kodu w rozwiązania dla 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 Przegląd rozwoju rozwiązań pakietu Office.

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.

Bb386206.collapse_all(pl-pl,VS.110).gifZrozumienie koncepcji wygenerowanych klas

W projektach działania z programem .NET Framework 4 lub .NET Framework 4.5, element host wpisuje się w Visual Studio 2010 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 2010 Tools for Office Runtime.Na przykład, jeśli wywołamy Protect metoda ThisDocument klasy, Microsoft.Office.Tools.Word.DocumentBase klasy przekierowuje to wywołanie do wewnętrznego wdrażania Microsoft.Office.Tools.Word.Document interfejsu w Visual Studio 2010 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 Microsoft.Office.Interop.Word.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 Microsoft.Office.Tools.Word.Document hosta elementu Save metoda, która jest wywoływana w ten kod jest w rzeczywistości Save metoda Microsoft.Office.Tools.Word.Document hosta, towaru.Metoda ta odpowiada Save metoda Microsoft.Office.Interop.Word.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 Program Word omówienie modelu obiektu i Omówienie modelu obiektu programu Excel.

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 Microsoft.Office.Tools.Excel.ListObject kontrola hosta zapewnia wszystkie funkcje z Microsoft.Office.Interop.Excel.ListObject w programie Excel.Jednakże Microsoft.Office.Tools.Excel.ListObject sterowanie hostem ma również dodatkowe zdarzenia i możliwości wiązania danych.

Aby uzyskać więcej informacji, zobacz Elementy hosta i Omówienie kontroli hosta i Formantów Windows Forms na przegląd dokumentów pakietu Office.

Łą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 dostosowania 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 Dodatek dostosowywania 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 2010 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 Elementy hosta i Omówienie kontroli hosta.

Opis GetVstoObject i HasVstoObject metody

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

W projektach na poziomie dokumentu, nie można użyć GetVstoObject metoda, aby utworzyć nową Microsoft.Office.Tools.Excel.Workbook, Microsoft.Office.Tools.Excel.Worksheet, lub Microsoft.Office.Tools.Word.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 programowy hosta elementów i kontrolek hosta i Rozszerzanie dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania.

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 Microsoft.Office.Interop.Word.Document lub Microsoft.Office.Interop.Excel.Worksheet), który chcesz przetestować.

Zobacz też

Koncepcje

Zarządzanie dokumentami na serwerze za pomocą klasy ServerDocument

Pisania kodu w rozwiązania dla pakietu Office

Inne zasoby

Kontrole dokumentów pakietu Office

Łączenie VBA i dostosowania na poziomie dokumentu