Pisanie kodu dla rozwiązań pakietu Office

Istnieją pewne aspekty pisania kodu w projektach pakietu Office, które różnią się od innych typów projektów w środowisku Visual Studio.Wiele z tych różnic są związane z sposób, w jaki modele obiektów pakietu Office są narażone na kod zarządzany.Inne różnice odnoszą się do projektu projektach dla pakietu Office.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji obsługiwanych w pakietach Office 2013 i Office 2010. Zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Kod zarządzany i programowania pakietu Office

Kluczową technologią, ułatwia tworzenie zintegrowanego rozwiązania Microsoft Office możliwe jest automatyzacji, który jest częścią technologii hosta skryptów systemu Windows (COM, Component Object Model).Automatyzacja umożliwia 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 z ich funkcjonalności do automatyzacji.Nie można jednak używać kodu zarządzanego (takich 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ć podstawowe zestawy międzyoperacyjne pakietu Office (PIAs).Podstawowe zestawy międzyoperacyjne włączyć kod zarządzany do interakcji 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 pakietu Office w programie Visual Studio odniesienie do odpowiednich PIA jest automatycznie dodawany do projektu.Aby zautomatyzować funkcje w innych aplikacjach pakietu Office z projektu, można ręcznie dodać odwołanie do odpowiednich PIA.Aby uzyskać więcej informacji, zobacz Porady: konfigurowanie pod kątem aplikacji pakietu Office przy użyciu podstawowych zestawów międzyoperacyjnych.

W czasie projektowania i w czasie wykonywania za pomocą podstawowe zestawy międzyoperacyjne

Musi mieć PIAs Office zainstalowany i zarejestrowany w globalna pamięć podręczna zestawów na komputerze dewelopera do wykonywania większości zadań rozwoju.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 obiektu docelowego Program .NET Framework 4 lub Program .NET Framework 4.5.Aby uzyskać więcej informacji, zobacz Projektowanie i tworzenie rozwiązań Office.

Za pomocą typów w podstawowe zestawy międzyoperacyjne

PIAs pakietu Office zawierają kombinację typów, które udostępniają modelu z aplikacji pakietu Office i typów dodatkowej infrastruktury, które nie są przeznaczone do użycia bezpośrednio w kodzie.Omówienie typów w PIAs pakietu Office, zobacz Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Typy w PIAs pakietu Office odnoszą się do typów modeli obiektów opartych na modelu COM, dlatego często różni się od innych typów zarządzanych sposobu korzystania z tych typów.Na przykład sposób wywołania metody, które mają parametry opcjonalne w podstawowego zestawu międzyoperacyjnego pakietu Office zależy od języka programowania używanego w projekcie.Aby uzyskać więcej informacji, zobacz następujące tematy:

Model programowania Biura projektów

Wszystkie projekty pakietu Office obejmują jednej lub kilku klas wygenerowany, które zapewniają punkt wejścia dla tego kodu.Klasy te zapewniają również dostępu do modelu obiektu aplikacji hosta i dostęp do funkcji, takich jak okienka akcji i niestandardowe okienka zadań.

Opis klas wygenerowany

W projektów na poziomie dokumentu dla programu Excel i Word wygenerowanej klasy jest podobny do obiektu najwyższego poziomu w modelu obiektów aplikacji.Na przykład, wygenerowany ThisDocument klasa w projekcie dokumentu program Word dostarcza tych samych członków co Document klasy w modelu obiektów programu Word.Aby uzyskać więcej informacji dotyczących wygenerowanych klas w projektów na poziomie dokumentu, zobacz Programowanie dostosowań na poziome dokumentu.

Projektów na poziomie aplikacji zapewniają generowanej klasy o nazwie ThisAddIn.Ta klasa nie przypomina klasę w modelu obiektów aplikacji hosta.Zamiast tego ta klasa reprezentuje dodatek sam i zapewnia członków, których można użyć, aby uzyskać dostęp do modelu obiektu aplikacji hosta i dostęp do innych funkcji dostępne dodatki.Aby uzyskać więcej informacji, zobacz Programowanie dodatków na poziomie aplikacji.

Wszystkie klasy generowane w projektach dla pakietu Office to Startup i Shutdown procedury obsługi zdarzeń.Aby rozpocząć pisanie kodu, zazwyczaj dodać kod do obsługi tych zdarzeń.Aby zainicjować dodatku, można dodać kod, aby Startup programu obsługi zdarzeń.Aby oczyścić zasoby używane przez dodatek, 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 klasy generowane w czasie wykonywania

Po załadowaniu rozwiązanie Office Visual Studio Tools for Office Runtime tworzy wystąpienie każdej klasy generowane w projekcie.Można te obiekty dostęp z dowolnego kodu w projekcie za pomocą Globals klasy.Na przykład, można użyć Globals klasy w celu wywołania kodu w ThisAddIn klasy z programu obsługi zdarzeń przycisk na Wstążce w poziomie aplikacji dodatek.

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

Uwagi dotyczące nazw w rozwiązania biurowe

Nie można zmienić domyślny obszar nazw (lub główny obszar nazw w języku Visual Basic) programu Office project po utworzeniu projektu.Domyślny obszar nazw zawsze będzie zgodna z nazwą projektu, ustawione podczas tworzenia projektu.Jeśli zmienisz nazwę projektu, nie zmienia domyślny obszar nazw.Aby uzyskać więcej informacji na temat domyślny obszar nazw, w projektach, zobacz Strona aplikacji, Projektant projektu (C#) i Strona aplikacji, Projektant projektu (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 programu Visual C# pakietu Office.Domyślnie obszar nazw dla hostów 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, użyj element hosta w obszarze nazw właściwości.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 pakietu Office projektu 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 programu Visual C# węzły Nowy projekt okno dialogowe w Visual Studio.Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.

Wybór języka i programowania pakietu Office

Microsoft Office i Visual Basic for Applications (VBA) zostały opracowane do współpracują ze sobą, aby zoptymalizować przepływ pracy dostosowywania aplikacji.Visual Basic odziedziczył niektóre z tych zmian.Na przykład Visual Basic obsługuje parametry opcjonalne, co oznacza, że można napisać mniejszej ilości kodu podczas wywoływania niektórych metod w Microsoft Office podstawowe zestawy międzyoperacyjne niż w przypadku użycia programu Visual C#.

Programowanie w języku Visual Basic vs. Program Visual C# w rozwiązania biurowe

Rozwiązania pakietu Office można utworzyć za pomocą języka Visual Basic lub Visual C#.Ponieważ modele obiektów Microsoft Office zostały zaprojektowane do można użyć z poziomu języka Microsoft Visual Basic for Applications (VBA), programistów języka Visual Basic można pracować wygodnie z obiektów wystawionych przez aplikacje pakietu Microsoft Office.W Visual Studio 2013, Visual C# deweloperzy mogą używać większość tych samych funkcji jako deweloperów korzystających z języka Visual Basic, ale istnieje kilka przypadków, gdzie należy napisać dodatkowy kod wykorzystują modele obiektów pakietu Office.Istnieją 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

Obsługa programu Visual C#

Parametry opcjonalne

Wiele metod Microsoft Office mają parametry, które nie są wymagane podczas wywołania metody.Jeśli dla parametru jest przekazywana żadnej wartości, używana jest wartość domyślna.

Visual Basic obsługuje następujące parametry opcjonalne.

Program Visual C# obsługuje parametry opcjonalne w większości przypadków.Aby uzyskać więcej informacji, zobacz Parametry opcjonalne w rozwiązaniach Office.

Przekazywanie parametrów przez odwołanie

Parametry opcjonalne w większości krajów podstawowe zestawy międzyoperacyjne programu Microsoft Office może być przekazany przez wartość.Jednak w niektórych podstawowe zestawy międzyoperacyjne parametry opcjonalne, które akceptują typy odwołań muszą być przekazywane przez odwołanie.

Aby uzyskać więcej informacji dotyczących parametrów typu wartość i odniesienia, zobacz Przekazywanie argumentów według wartości i według odwołania (Visual Basic) (dla Visual Basic) i Przekazywanie parametrów (Przewodnik programowania w języku C#).

Bez dodatkowej pracy jest niezbędne do przekazania parametrów odniesienia.Kompilator Visual Basic automatycznie przechodzi parametry odniesienia, gdy jest to konieczne.

W większości przypadków kompilatora Visual C# automatycznie przekazuje parametry przez odniesienie, gdy jest to konieczne.Aby uzyskać więcej informacji, zobacz Parametry opcjonalne w rozwiązaniach Office.

Właściwości parametryczne

Niektóre właściwości akceptuje parametry i działają jako funkcje tylko do odczytu.

Visual Basic obsługuje właściwości, które akceptuje parametry.

Program 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, a nie zmienne Rzutowanie na typ obiektu w czasie projektowania.

Visual Basic wykonuje późnym wiązaniem, kiedy Option Strict jest wyłączona.Gdy Option Strict jest włączone, należy jawnie skonwertować obiekty i typy użycia w System.Reflection nazw uzyskać dostęp do członków późnym wiązaniem.Aby uzyskać więcej informacji, zobacz Późne wiązania w rozwiązaniach pakietu Office.

Program Visual C# wykonuje późnym wiązaniem w projektach przeznaczonych z Program .NET Framework 4.Aby uzyskać więcej informacji, zobacz Późne wiązania w rozwiązaniach pakietu Office.

Zasadnicze 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 aplikacji pakietu Microsoft Office zaczyna się od 1.Visual Basic i Visual C# używać tablic oparty na 0.Aby uzyskać więcej informacji, zobacz Tablice (Przewodnik programowania w języku C#) i Tablice w Visual Basic.

Aby przejść do pierwszego elementu Kolekcja w modelu obiektów aplikacji pakietu Microsoft Office, zamiast indeksu 1 na 0.

Zobacz też

Zadania

Porady: konfigurowanie pod kątem aplikacji pakietu Office przy użyciu podstawowych zestawów międzyoperacyjnych

Porady: tworzenie obsługi zdarzeń w projektach pakietu Office

Koncepcje

Parametry opcjonalne w rozwiązaniach Office

Globalny dostęp do obiektów w projektach pakietu Office

Zdarzenia w projektach pakietu Office

Późne wiązania w rozwiązaniach pakietu Office

Programowanie zespołowe rozwiązań pakietu Office