Pisania kodu w rozwiązania dla pakietu Office
Istnieją pewne aspekty pisania kodu w projektach pakietu Office, które różnią się od innych typów projektów w programie Visual Studio.Wiele z tych różnic są związane z taką, jaką modeli obiektów pakietu Office są narażone na kod zarządzany.Inne różnice odnoszą się do projektowania projektach dla pakietu Office.
Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu i projektów na poziomie aplikacji dla pakietu Office 2013 i Office 2010. Zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.
Kod zarządzany i programowania pakietu Office
Kluczową technologią, która umożliwia tworzenie zintegrowanego rozwiązania Microsoft Office jest automatyzacja, który jest częścią technologii Component Object Model (COM).Automatyzacja pozwala na używanie kodu do tworzenia i kontrolowania obiektów oprogramowania wystawionych przez dowolną aplikację biblioteki DLL, lub formantem ActiveX systemu obsługuje odpowiednich interfejsów programistycznych.
Opis podstawowe zestawy międzyoperacyjne
Aplikacje Microsoft Office narazić wiele ich funkcji w celu automatyzacji.Nie można jednak używać kodu zarządzanego (takie jak Visual Basic lub C#) bezpośrednio do automatyzowania aplikacji pakietu Office.Do automatyzowania aplikacji pakietu Office przy użyciu kodu zarządzanego, należy użyć pakietu Office podstawowe zestawy międzyoperacyjne (PIA).Podstawowe zestawy międzyoperacyjne włączyć kod zarządzany do współdziałania z modelem obiektów opartych na modelu COM w aplikacjach pakietu Office.
Każda aplikacja Microsoft Office ma podstawowy zestaw MIĘDZYOPERACYJNY.Podczas tworzenia projektu programu pakietu Office w programie Visual Studio, odniesienie do odpowiednich PIA jest automatycznie dodawany do projektu.Aby zautomatyzować funkcje innych aplikacji pakietu Office z projektu, można ręcznie dodać odwołanie do odpowiednich PIA.Aby uzyskać więcej informacji, zobacz Jak: docelowej aplikacji pakietu Office za pośrednictwem podstawowe zestawy międzyoperacyjne.
W czasie projektowania i wykonywania czas przy użyciu podstawowe zestawy międzyoperacyjne
Musisz mieć PIAs Office zainstalowany i zarejestrowany w globalna pamięć podręczna zestawów na komputerze dewelopera do wykonywania większości zadań związanych z rozwojem.Aby uzyskać więcej informacji, zobacz Konfigurowanie komputera do opracowywania rozwiązań pakietu Office.
PIAs pakietu Office nie są wymagane na komputerach użytkowników końcowych do uruchamiania rozwiązań pakietu Office do działania z programem .NET Framework 4 lub .NET Framework 4.5.Aby uzyskać więcej informacji, zobacz Projektowanie i tworzenie rozwiązań pakietu Office.
Za pomocą typów w podstawowe zestawy międzyoperacyjne
PIAs pakietu Office zawierają kombinację typów, które narażają modelu aplikacji pakietu Office i typów dodatkowej infrastruktury, które nie mają być stosowane bezpośrednio w kodzie.Omówienie typów w PIAs pakietu Office, zobacz Overview of Classes and Interfaces in the Office Primary Interop Assemblies.
Ponieważ typy w PIAs pakietu Office odnoszą się do typów modeli obiektów opartych na modelu COM, sposobu korzystania z tego typu często różni się od innych typów zarządzanych.Na przykład sposób, w wywołaniu metody, które mają parametry opcjonalne w Office podstawowy zestaw międzyoperacyjny zależy od języka programowania używanego w projekcie.Aby uzyskać więcej informacji, zobacz następujące tematy:
Model programowania projektach dla pakietu Office
Wszystkie projekty pakietu Office obejmują jeden lub więcej wygenerowanych klas, które dostarczają punkt wejścia dla kodu.Klasy te również zapewnić dostęp do modelu obiektu aplikacji hosta i do sterowania dostępem do funkcji, takich jak okienka Akcje i niestandardowe okienka zadań.
Opis klas wygenerowany
W projektach poziomie dokumentu dla programu Excel i Word wygenerowanej klasy jest podobna do obiektu najwyższego poziomu w modelu obiektów aplikacji.Na przykład wygenerowany ThisDocument klasy w projekcie dokumentu programu Word zawiera tych samych elementów członkowskich jako Microsoft.Office.Interop.Word.Document klasy w modelu obiektów programu Word.Aby uzyskać więcej informacji dotyczących wygenerowanych klas w projektach na poziomie dokumentu, zobacz Dostosowania poziomu dokument programowania.
Poziomie aplikacji zapewniają generowanej klasy o nazwie ThisAddIn.Ta klasa nie przypomina klasę w modelu obiektów aplikacji hosta.Zamiast tego ta klasa reprezentuje sam dodatek i zapewnia członków, których można uzyskać dostęp do modelu obiektu aplikacji hosta i dostęp do innych funkcji, które są dostępne dla dodatków.Aby uzyskać więcej informacji, zobacz Programowanie aplikacji poziom dodatki.
Wszystkie klasy generowane w projektach dla pakietu Office to Startup i Shutdown programy obsługi zdarzeń.Aby rozpocząć pisanie kodu, zazwyczaj dodasz kod do tych programów obsługi zdarzeń.Zainicjowanie dodatku, można dodać kod do Startup programu obsługi zdarzeń.Aby oczyścić zasoby używane przez dodatku, można dodać kod, aby Shutdown programu obsługi zdarzeń.Aby uzyskać więcej informacji, zobacz Zdarzenia w projektach pakietu Office.
Uzyskiwanie dostępu do wygenerowanych klas w czasie wykonywania
Po załadowaniu rozwiązanie Office Visual Studio 2010 Tools for Office Runtime tworzy wystąpienie każdej z klas wygenerowane w projekcie.Można uzyskać dostęp tych obiektów z dowolnego kodu w projekcie za pomocą Globals klasy.Na przykład, można użyć Globals klasy do wywołania kodu w ThisAddIn klasy z obsługą zdarzeń przycisku wstążki w dodatek programu poziomu aplikacji.
Aby uzyskać więcej informacji, zobacz Globalny dostęp do obiektów w projektach pakietu Office.
Uwagi dotyczące nazw w roztworach pakietu Office
Nie można zmienić domyślny obszar nazw (lub głównego obszaru nazw w języku Visual Basic) programu Office project po utworzeniu projektu.Domyślny obszar nazw będą zawsze pasować nazwę projektu, które zostało określone podczas tworzenia projektu.Jeśli zmienisz nazwę projektu, nie zmienia się domyślny obszar nazw.Aby uzyskać więcej informacji na temat domyślny obszar nazw w projektach, zobacz Strona aplikacji, Project Designer (C#) i Strona aplikacji, Project Designer (Visual Basic).
Zmiana obszaru nazw hosta element klasy w języku C# projektów
Host element klasy (na przykład, ThisAddIn, ThisWorkbook, lub ThisDocument klas) mają własne obszary nazw w projektach dla pakietu Office z Visual C#.Domyślnie w obszarze nazw hosta elementów w projekcie zgodny z nazwą projektu, określone podczas tworzenia projektu.
Aby zmienić obszar nazw elementów hosta w projekcie programu Visual C# pakietu Office, należy użyć obszaru nazw dla hostów elementu właściwość.Aby uzyskać więcej informacji, zobacz Właściwości w projektach pakietu Office.
Obsługiwane języki programowania w projektach dla pakietu Office
Szablony projektu pakietu Office w programie Visual Studio obsługuje tylko języka Visual Basic i Visual C# języków programowania.W związku z tym, te szablony projektu są dostępne tylko w ramach programu Visual Basic i Visual C# węzły Nowy projekt okno dialogowe w Visual Studio.Aby uzyskać więcej informacji, zobacz Jak: tworzenie projektów pakietu Office w programie Visual Studio.
Wybór języka i programowania pakietu Office
Microsoft Office i Visual Basic for Applications (VBA) zostały opracowane, aby współpracować, aby zoptymalizować przepływ pracy dostosowywania aplikacji.Języka Visual Basic odziedziczył niektóre z tych zmian.Na przykład programu Visual Basic obsługuje parametry opcjonalne, co oznacza, że możesz zapisać mniejszej ilości kodu podczas wywoływania niektórych metod w podstawowe zestawy międzyoperacyjne programu Microsoft Office niż w przypadku użycia Visual C#.
Programowanie w języku Visual Basic VS. Visual C# w roztworach pakietu Office
Rozwiązania pakietu Office można utworzyć przy użyciu języka Visual Basic lub Visual C#.Modele obiektów programu Microsoft Office zostały zaprojektowane do wykorzystania z Microsoft Visual Basic for Applications (VBA), programiści Visual Basic może pracować wygodnie z obiekty udostępniane przez aplikacje Microsoft Office.W Visual Studio 2012, Visual C# deweloperzy mogą używać większości te same funkcje jak programiści Visual Basic, ale są przypadki, gdzie należy wpisać dodatkowy kod, aby wykorzystują modele obiektów pakietu Office.Istnieją także pewne różnice między podstawowe funkcje programistyczne w rozwoju pakietu Office i zarządzany kod napisany w języku Visual Basic i C#.
Główne różnice między języka Visual Basic i Visual C#
W poniższej tabeli przedstawiono główne różnice między języka Visual Basic i Visual C# w rozwoju pakietu Office.
Funkcja |
Opis |
Obsługa języka Visual Basic |
Visual C# Obsługa |
---|---|---|---|
Parametry opcjonalne |
Wiele metod programu Microsoft Office mieć parametrów, które nie są wymagane, gdy wywołujemy metodę.Jeśli wartość nie jest przekazywana dla parametru, używana jest wartość domyślna. |
Języka Visual Basic obsługuje następujące parametry opcjonalne. |
Visual C# obsługuje następujące parametry opcjonalne w większości przypadków.Aby uzyskać więcej informacji, zobacz Parametry opcjonalne w rozwiązania dla pakietu Office. |
Przekazywanie parametrów przez odwołanie |
Parametry opcjonalne w większości podstawowe zestawy międzyoperacyjne programu Microsoft Office mogą być przekazywane przez wartość.Jednak w niektóre podstawowe zestawy międzyoperacyjne parametry opcjonalne, które akceptują typy odwołań muszą być przekazywane przez odwołanie. Aby uzyskać więcej informacji na temat parametrów typu wartość i odniesienia, zobacz Przekazywanie argumentów przez wartość i przez odwołanie (Visual Basic) (dla języka Visual Basic) i Przekazywanie parametrów (Podręcznik programowania C#). |
Bez konieczności dodatkowej pracy jest niezbędne do przekazania parametrów odniesienia.Kompilator języka Visual Basic automatycznie przechodzi parametry odniesienia, gdy jest to konieczne. |
W większości przypadków kompilator Visual C# automatycznie przekaże parametry przez odniesienie, gdy jest to konieczne.Aby uzyskać więcej informacji, zobacz Parametry opcjonalne w rozwiązania dla pakietu Office. |
Właściwości parametryczne |
Niektóre właściwości akceptuje parametry i działają jako funkcje tylko do odczytu. |
Języka Visual Basic obsługuje właściwości, które akceptuje parametry. |
Visual C# obsługuje właściwości, które akceptuje parametry. |
Późne wiązanie |
Późnym wiązaniem polega na określaniu właściwości obiektów w czasie wykonywania, zamiast zmiennych Rzutowanie na typ obiektu w czasie projektowania. |
Języka Visual Basic wykonuje późnym wiązaniem, gdy Option Strict jest wyłączona.Gdy Option Strict jest włączone, należy jawnie skonwertować obiekty i typy użycia w System.Reflection obszaru nazw, uzyskać dostęp do członków późnym wiązaniem.Aby uzyskać więcej informacji, zobacz Późne wiązanie w rozwiązania dla pakietu Office. |
Visual C# wykonuje późnym wiązaniem w projektach działania z programem .NET Framework 4.Aby uzyskać więcej informacji, zobacz Późne wiązanie w rozwiązania dla pakietu Office. |
Główne różnice między rozwojem pakietu Office i kod zarządzany
W poniższej tabeli przedstawiono główne różnice między rozwojem pakietu Office i zarządzany kod napisany w języku Visual Basic lub Visual C#.
Funkcja |
Opis |
Obsługa języka Visual Basic i Visual C# |
---|---|---|
Indeksy tablicy |
Dolna granica tablicy kolekcje w aplikacji Microsoft Office zaczyna się od 1.Visual Basic i Visual C# należy używać tablic opartych na 0.Aby uzyskać więcej informacji, zobacz Tablice (Podręcznik programowania C#) i Tablice w języku Visual Basic. |
Aby przejść do pierwszego elementu Kolekcja w modelu obiektów aplikacji pakietu Microsoft Office, zamiast indeksu 1 na 0. |
Zobacz też
Zadania
Jak: docelowej aplikacji pakietu Office za pośrednictwem podstawowe zestawy międzyoperacyjne
Jak: tworzenie programów obsługi zdarzeń w projektach pakietu Office
Koncepcje
Parametry opcjonalne w rozwiązania dla pakietu Office
Globalny dostęp do obiektów w projektach pakietu Office
Zdarzenia w projektach pakietu Office