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.
Zrozumienie 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:
ThisDocument: wywodzi się z Microsoft.Office.Tools.Word.DocumentBase.
ThisWorkbook: wywodzi się z Microsoft.Office.Tools.Excel.WorkbookBase.
Sheetn: wywodzi się z Microsoft.Office.Tools.Excel.WorksheetBase.
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:
Dodawanie formantów hosta i formantów Windows Forms do powierzchni dokumentu.
Aby uzyskać więcej informacji, zobacz Automatyzowanie programu Word przy użyciu obiektów rozszerzony, Automatyzowanie programu Excel przy użyciu obiektów rozszerzony i Formantów Windows Forms na przegląd dokumentów pakietu Office.
W oknie actions należy dodać do dokumentu.
Aby uzyskać więcej informacji, zobacz Omówienie panelu Operacje.
Dodaj niestandardowe karty do wstążki.
Aby uzyskać więcej informacji, zobacz Omówienie wstążki.
Dodawanie grup niestandardowych do karty wbudowanej na Wstążce.
Aby uzyskać więcej informacji, zobacz Jak: Dostosowywanie wbudowane karty.
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:
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 Microsoft.Office.Tools.Excel.ListObject, Microsoft.Office.Tools.Excel.Workbook, Microsoft.Office.Tools.Excel.Worksheet, lub Microsoft.Office.Tools.Word.Document obiektu, jeśli określony obiekt Office macierzystego ma jedną.W przeciwnym razie GetVstoObject zwraca null.Na przykład GetVstoObject metoda zwraca Microsoft.Office.Tools.Word.Document Jeśli określony Microsoft.Office.Interop.Word.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ą 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