Przegląd obiektów hosta i formantów hosta
Elementami hosta a formantami hosta są typy, które pomagają model programowania rozwiązań pakietu Office, które są tworzone za pomocą narzędzi programistycznych pakietu Office w programie Visual Studio.Elementami hosta a formantami hosta upewnij się, interakcji z modeli obiektów z programu Microsoft Office Word i Microsoft Office Excel, które są oparte na modelu COM, bardziej jak interakcji z obiektów zarządzanych, takich jak Windows Forms steruje.
Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji 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.
Elementy hosta
Elementy hosta są typy, które są na szczycie hierarchii modelu obiektów w projektach dla pakietu Office.Visual Studio Tools for Office Runtime Definiuje następujące elementy hosta dla programu Word i Excel rozwiązań:
Każdy z tych typów rozszerza obiekt, który natywnie istnieje w modelu obiektów programu Word lub Excel, o nazwie macierzysty obiekt Office.Na przykład Document rozszerza hosta elementu Document obiekt, który jest zdefiniowany w podstawowy zestaw międzyoperacyjny dla programu Word.
Elementy hosta ogólnie mają taką samą funkcjonalność bazy jako odpowiednich obiektów pakietu Office, ale są większe, z następujących funkcji:
Zdolność do hosta zarządzane formanty, takie jak formanty hosta i Windows Forms.
Bogatsze modelami.Niektóre zdarzenia dokumentów, skoroszytów i arkuszy w macierzystym modeli obiektów programu Word i Excel są wywoływane tylko na poziomie aplikacji.Elementy hosta zapewnić tych zdarzeń na poziomie dokumentu, tak aby był łatwiejszy w obsłudze zdarzenia dla określonego dokumentu.
Opis elementów hosta w projektów na poziomie dokumentu
W projektów na poziomie dokumentu elementy hosta udostępniają punkt wejścia dla kodu i mają projektanci, ułatwiające opracowywania rozwiązań.
Document i Worksheet elementy hosta związane projektantów, które są wizualna reprezentacja dokument lub arkusz, jak projektant Windows Forms.Modyfikowanie zawartości dokumentu lub arkusza bezpośrednio w programie Word lub Excel i przeciągnij formanty na powierzchni projektowej, można użyć tego projektanta.Aby uzyskać więcej informacji, zobacz Element hosta dokumentu i Element hosta arkusza.
Workbook Elementu host nie działa jako formanty, które mają interfejs użytkownika.Zamiast tego projektanta dla tego elementu host działa jako Zasobnik składnik, który umożliwia przeciąganie składników, takich jak DataSet, na jej powierzchni projektowania.Aby uzyskać więcej informacji, zobacz Element hosta skoroszytu.
Nie można tworzyć elementów hosta programowo w projektów na poziomie dokumentu.Zamiast tego należy użyć ThisDocument, ThisWorkbook, lub Sheetn klas, które Visual Studio automatycznie generuje w projekcie w czasie projektowania.Te klasy generowane wynikają z elementami hosta i zapewniają punkt wejścia dla kodu.Aby uzyskać więcej informacji, zobacz Ograniczenia programowe elementów hosta i formantów hosta.
Opis elementów hosta w poziomie aplikacji
Podczas tworzenia dodatku poziomie aplikacji, nie masz dostępu do żadnych elementów host domyślnie.Jednakże można wygenerować Document, Workbook, i Worksheet host elementów w programie Word i Excel dodatków w czasie wykonywania.
Po wygenerowaniu elementu hosta, można wykonywać zadania, takie jak dodawanie formantów do dokumentów.Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumentów programu Word i skoroszytów w programie Excel w czasie wykonywania w dodatkach na poziomie aplikacji.
Formanty hosta
Formanty hosta rozszerzyć różne obiekty interfejsu użytkownika w modeli obiektów programu Word i Excel, takich jak Microsoft.Office.Interop.Word.ContentControl i Range obiektów.
Następujące formanty hosta są dostępne dla projektów programu Excel:
Następujące formanty hosta są dostępne dla projektów programu Word:
Host formantów, które są dodawane do dokumentów pakietu Office, zachowują się jak macierzystego obiekty urzędu; Jednakże hosta formanty mają dodatkowe funkcje, w tym zdarzeń i funkcji wiązania danych.Na przykład, kiedy chcesz przechwytywać zdarzenia native Range obiektu w programie Excel, najpierw musi obsługiwać zdarzenia zmiany arkusza.Następnie należy określić, czy zmiana została wprowadzona w Range.W przeciwieństwie NamedRange kontroli host ma Change zdarzenie, które można obsługiwać bezpośrednio.
Relacja między element hosta a formantami hosta jest bardzo podobna do relacji między formantami formularza systemu Windows i Windows Forms.Tak, jak należałoby umieścić formant pola tekstowego w formularzu systemu Windows, możesz umieścić NamedRange kontroli na Worksheet hosta, towaru.Poniższej ilustracji przedstawiono relacje między elementami hosta a formantami hosta.
Formantów Windows Forms można użyć również w dokumentów pakietu Office, dodając je bezpośrednio do powierzchni dokumentu programu Word i Excel.Aby uzyskać więcej informacji, zobacz Formanty formularzy Windows w dokumentach pakietu Office ― Omówienie.
[!UWAGA]
Dodawanie hosta formantów lub formanty Windows Forms do dokumentu podrzędnego słowa nie jest obsługiwane.
Dodawanie formantów hosta do dokumentów
W projektach na poziomie dokumentu można dodać formanty hosta do dokumentów programu Word lub arkusze programu Excel w czasie projektowania w następujący sposób:
Dodawanie formantów hosta do dokumentu w czasie projektowania w taki sam sposób można dodać obiektu macierzystego.
Przeciągnij formanty hosta z Przybornik na dokumenty i arkusze.Formanty hosta programu Excel są dostępne w Formantów programu Excel kartę w projektach programu Excel i hosta słowo formantów dostępnych w Formantów programu Word kartę w projektach programu Word.
Przeciągnij formanty hosta z Źródła danych do okna dokumentów i arkuszy.Dzięki temu można dodać formanty, które są już powiązane z danymi.Aby uzyskać więcej informacji, zobacz Wiązanie danych do formantów w rozwiązaniach pakietu Office.
W dokumencie poziomie aplikacji i projektów można również dodać niektóre formanty hosta do dokumentów w czasie wykonywania.Aby uzyskać więcej informacji, zobacz Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania.
Aby uzyskać więcej informacji na temat dodawania formantów hosta do dokumentów zobacz następujące tematy:
Porady: dodawanie formantów zakładek do dokumentów programu Word
Porady: dodawanie formantów zawartości do dokumentów programu Word
Porady: dodawanie formantów XMLNode do dokumentów programu Word
Porady: dodawanie formantów XMLNodes do dokumentów programu Word
Nadawanie nazw hosta formantów
Podczas przeciągania formantu hosta z Przybornik do dokumentu, formant automatycznie nazwie typu formantu za pomocą numer przyrostowy na końcu.Na przykład zakładki są o nazwie bookmark1, bookmark2, i tak dalej.Jeśli używasz funkcjami programu Word lub Excel, aby dodać formant, można nadać jej szczególnych nazwę w chwili jej tworzenia.Można również zmienić nazwy formantów, zmieniając wartość Nazwa właściwość w Właściwości okna.
[!UWAGA]
Nie można używać słów zastrzeżonych nazw hosta formantów.Na przykład, jeśli dodasz NamedRange kontroli do arkusza i zmienić nazwę, aby System, występują błędy podczas kompilacji projektu.
Usuwanie formantów hosta
W projektów na poziomie dokumentu można usuwać formanty hosta w czasie projektowania, wybierając formantu w arkuszu programu Excel lub dokumentu programu Word i naciskając klawisz Delete.Jednakże, należy użyć Definiuj nazwy okno dialogowe w programie Excel, aby usunąć NamedRange kontroli.
Jeśli dodasz formant hosta do dokumentu w czasie projektowania nie należy usuwać go programowo w czasie wykonywania, ponieważ przy następnej próbie użycia formantu w kodzie, wyjątek jest.Delete Metodę kontroli hosta usuwa tylko formanty hosta, które są dodawane do dokumentu w czasie wykonywania.Wywołanie Delete metoda kontroli hosta, który został utworzony w czasie projektowania, jest wyjątek.
Na przykład Delete metoda NamedRange usuwa tylko pomyślnie NamedRange jeśli programowo został dodany do arkusza, który jest znany jako dynamicznie tworzenia formantów hosta.Formanty dynamicznie utworzona hosta może być usunięty, przekazując nazwę formantu do Remove metoda Worksheet.Controls lub Document.Controls właściwość.Aby uzyskać więcej informacji, zobacz Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania.
Jeśli użytkownicy końcowi usunąć formant hosta z dokumentu w czasie wykonywania, rozwiązanie może przestać działać w nieoczekiwany sposób.Chronić formantami hosta przed usunięciem, można użyć funkcji ochrony dokumentu w programie Word i Excel.Aby uzyskać więcej informacji, zobacz Office Development ― Przykłady i wskazówki.
[!UWAGA]
Nie usuwaj programowo formantów podczas Shutdown obsługi zdarzeń w dokumencie lub arkuszu.Elementy interfejsu użytkownika nie są już dostępne podczas Shutdown zdarzenie.Jeśli chcesz usunąć formanty, przed zamknięciem aplikacji, Dodaj kod do obsługi innego zdarzenia takie jak BeforeClose lub BeforeSave.
Programowanie przeciwko Host Control wydarzenia
Jeden sposób, że host formantów rozszerzenia obiektów pakietu Office jest przez dodanie zdarzenia.Na przykład Range obiektu w programie Excel i Bookmark obiektu w programie Word nie mają zdarzenia, ale Visual Studio Tools for Office Runtime rozciąga się przez dodanie zdarzenia programowalne tych obiektów.Można uzyskać dostęp i kod wobec tych zdarzeń, taki sam sposób dostępu zdarzeń formantów na Windows Forms: za pomocą listy rozwijanej event w języku Visual Basic i na stronie właściwości zdarzenia w języku C#.Aby uzyskać więcej informacji, zobacz Wskazówki: programowanie w odniesieniu do zdarzeń formantu NamedRange.
[!UWAGA]
Nie należy ustawiać EnableEvents właściwość Application obiektu w programie Excel, aby false.Ustawienie tej właściwości na false uniemożliwia podniesienia wszelkie zdarzenia, łącznie z wydarzenia z formantami hosta programu Excel.
Zobacz też
Koncepcje
Ograniczenia programowe elementów hosta i formantów hosta
Automatyzowanie programu Word za pomocą obiektów rozszerzonych
Automatyzowanie programu Excel za pomocą obiektów rozszerzonych
Inne zasoby
Programowanie dodatków na poziomie aplikacji
Programowanie dostosowań na poziome dokumentu