Psaní kódu v řešeních Office

Existují některé aspekty psaní kódu v projektech Office, které se liší od jiných typů projektů v sadě Visual Studio. Mnoho z těchto rozdílů souvisí se způsobem, jakým jsou objektové modely Office vystavené spravovanému kódu. Další rozdíly souvisí s návrhem projektů Office.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO. Viz Funkce dostupné podle typu aplikace Office lication a projektu.

Spravovaný kód a programování pro Office

Klíčovou technologií, která umožňuje vytvoření integrovaného řešení systém Microsoft Office, je automatizace, která je součástí technologie MODELU COM (Component Object Model). Automatizace umožňuje pomocí kódu vytvářet a řídit softwarové objekty vystavené libovolnou aplikací, knihovnou DLL nebo technologie ActiveX ovládacím prvku, který podporuje příslušná programová rozhraní.

Principy primárních sestavení vzájemné spolupráce

systém Microsoft Office aplikace zpřístupňují většinu svých funkcí službě Automation. Spravovaný kód (například Visual Basic nebo C#) ale nemůžete použít přímo k automatizaci aplikace Office lications. Pokud chcete automatizovat aplikace Office lications pomocí spravovaného kódu, musíte použít primární sestavení vzájemné spolupráce (PIA) Office. Primární sestavení vzájemné spolupráce umožňují spravovanému kódu pracovat s objektovým modelem založeným na modelu COM aplikace Office lications.

Každá systém Microsoft Office aplikace má PIA. Když v sadě Visual Studio vytvoříte projekt Office, automaticky se do projektu přidá odkaz na příslušnou PIA. Chcete-li automatizovat funkce jiných aplikace Office lications z projektu, musíte přidat odkaz na příslušnou PIA ručně. Další informace naleznete v tématu Postupy: Cílení aplikace Office lications prostřednictvím primárních sestavení vzájemné spolupráce.

Použití primárních sestavení vzájemné spolupráce v době návrhu a za běhu

Abyste mohli provádět většinu úloh vývoje, musíte mít nainstalované a zaregistrované pia Office v globální mezipaměti sestavení ve vývojovém počítači. Další informace najdete v tématu Konfigurace počítače pro vývoj řešení Office.

Pro spouštění řešení Office, která cílí na rozhraní .NET Framework 4 nebo novější, nejsou na počítačích koncových uživatelů vyžadovány osobní údaje Office. Další informace najdete v tématu Návrh a vytvoření řešení Office.

Použitítypůch

PiA Office obsahují kombinaci typů, které zpřístupňují objektový model aplikace Office lications a další typy infrastruktury, které nejsou určeny k použití přímo v kódu. Přehled typůvch

Vzhledem k tomu, že typy v pia Office odpovídají typům v objektových modelech založených na modelu COM, způsob, jakým tyto typy používáte, se často liší od jiných spravovaných typů. Způsob volání metod, které mají volitelné parametry v primárním sestavení vzájemné spolupráce Office, závisí například na programovacím jazyce, který používáte v projektu. Další informace naleznete v následujících tématech:

Model programu projektů Office

Všechny projekty Office obsahují jednu nebo více vygenerovaných tříd, které poskytují vstupní bod pro váš kód. Tyto třídy také poskytují přístup k objektovém modelu hostitelské aplikace a přístup k funkcím, jako jsou podokna akcí a vlastní podokna úloh.

Vysvětlení vygenerovaných tříd

V projektech na úrovni dokumentu pro Excel a Word se vygenerovaná třída podobá objektu nejvyšší úrovně v objektovém modelu aplikace. Například vygenerovaná ThisDocument třída v projektu wordového dokumentu poskytuje stejné členy jako Document třída v objektovém modelu Wordu. Další informace o generovaných třídách v projektech na úrovni dokumentů naleznete v tématu Program přizpůsobení na úrovni dokumentu.

Projekty doplňků VSTO poskytují vygenerovanou třídu s názvem ThisAddIn. Tato třída se podobá třídě v objektovém modelu hostitelské aplikace. Tato třída představuje samotný doplněk VSTO a poskytuje členy, které můžete použít pro přístup k objektového modelu hostitelské aplikace a přístup k dalším funkcím dostupným pro doplňky VSTO. Další informace naleznete v tématu Program VSTO Doplňky.

Všechny generované třídy v projektech Office zahrnují Startup obslužné rutiny událostí a Shutdown obslužné rutiny událostí. Abyste mohli začít psát kód, obvykle do těchto obslužných rutin událostí přidáte kód. Pokud chcete inicializovat doplněk VSTO, můžete do Startup obslužné rutiny události přidat kód. Pokud chcete vyčistit prostředky používané doplňkem VSTO, můžete do Shutdown obslužné rutiny události přidat kód. Další informace naleznete v tématu Události v projektech Office.

Přístup ke vygenerovaným třídám za běhu

Když se načte řešení Office, vytvoří Visual Studio Tools for Office runtime instanci každé vygenerované třídy v projektu. K těmto objektům můžete přistupovat z libovolného kódu v projektu pomocí Globals třídy. Třídu můžete například použít Globals k volání kódu ve ThisAddIn třídě z obslužné rutiny události tlačítka pásu karet v doplňku VSTO.

Další informace najdete v tématu Globální přístup k objektům v projektech Office.

Důležité informace o oboru názvů v řešeních Office

Po vytvoření projektu Office nelze změnit výchozí obor názvů (nebo kořenový obor názvů v jazyce Visual Basic). Výchozí obor názvů bude vždy odpovídat názvu projektu, který jste zadali při vytváření projektu. Pokud projekt přejmenujete, výchozí obor názvů se nezmění. Další informace o výchozím oboru názvů v projektech naleznete v tématu Stránka aplikace, Návrhář projektu (C#) a Stránka aplikace, Návrhář projektu (Visual Basic).

Změna oboru názvů tříd položek hostitele v projektech C#

Třídy položek hostitele (například ThisAddIn, ThisWorkbook, nebo ThisDocument třídy) mají své vlastní obory názvů v projektech Visual C#Office. Ve výchozím nastavení obor názvů pro položky hostitele v projektu odpovídá názvu projektu, který jste zadali při vytváření projektu.

Pokud chcete změnit obor názvů položek hostitele v projektu Sady Office v jazyce Visual C#, použijte vlastnost Obor názvů pro položku hostitele. Další informace naleznete v tématu Vlastnosti v projektech Office.

Podporované programovací jazyky v projektech Office

Šablony projektů Office v sadě Visual Studio podporují pouze programovací jazyky Visual Basic a Visual C#. Proto jsou tyto šablony projektů k dispozici pouze v uzlech Jazyka Visual Basic a Visual C# dialogového okna Nový projekt v sadě Visual Studio. Další informace naleznete v tématu Postupy: Vytváření projektů Office v sadě Visual Studio.

Volba jazyka a programování pro Office

systém Microsoft Office a jazyk Visual Basic for Application (VBA) byly vyvinuty tak, aby spolupracovaly na optimalizaci pracovního postupu přizpůsobení aplikace. Visual Basic zdědil některé z těchto vývojů. Visual Basic například podporuje volitelné parametry, což znamená, že při volání některých metod v systém Microsoft Office primárních sestaveních vzájemné spolupráce můžete napsat méně kódu, než když používáte Visual C#.

Program v jazyce Visual Basic vs. Visual C# v řešeních Office

Řešení Office můžete vytvářet pomocí jazyka Visual Basic nebo Visual C#. Vzhledem k tomu, že systém Microsoft Office objektové modely byly navrženy pro použití s Microsoft jazyk Visual Basic for Application (VBA), můžou vývojáři jazyka Visual Basic pohodlně pracovat s objekty vystavenými aplikacemi systém Microsoft Office. Vývojáři v jazyce Visual C# můžou používat většinu stejných funkcí jako vývojáři jazyka Visual Basic, ale v některých případech musí napsat další kód pro použití objektových modelů Office. Existují také některé rozdíly mezi základními programovacími funkcemi ve vývoji pro Office a spravovaným kódem napsaný v jazyce Visual Basic a C#.

Klíčové rozdíly mezi jazykem Visual Basic a Visual C#

Následující tabulka ukazuje hlavní rozdíly mezi jazykem Visual Basic a Visual C# ve vývoji pro Office.

Funkce Popis Podpora jazyka Visual Basic Podpora jazyka Visual C#
Volitelné parametry Mnoho systém Microsoft Office metod má parametry, které nejsou vyžadovány při volání metody. Pokud parametr nepředá žádnou hodnotu, použije se výchozí hodnota. Visual Basic podporuje volitelné parametry. Visual C# podporuje ve většině případů volitelné parametry. Další informace najdete v tématu Volitelné parametry v řešeních Office.
Předávání parametrů odkazem Volitelné parametry ve většině systém Microsoft Office primárních sestavení vzájemné spolupráce lze předat hodnotou. V některýchprimárních

Další informace o parametrech hodnot a typu odkazu najdete v tématu Předání argumentů podle hodnoty a odkazu (Visual Basic) (pro Visual Basic) a předání parametrů (průvodce programováním v jazyce C#).
K předání parametrů pomocí odkazu není potřeba žádná další práce. Kompilátor jazyka Visual Basic v případě potřeby automaticky předává parametry odkazem. Ve většině případů kompilátor Jazyka Visual C# automaticky předává parametry podle odkazu v případě potřeby. Další informace najdete v tématu Volitelné parametry v řešeních Office.
Parametrizované vlastnosti Některé vlastnosti přijímají parametry a fungují jako funkce jen pro čtení. Visual Basic podporuje vlastnosti, které přijímají parametry. Visual C# podporuje vlastnosti, které přijímají parametry.
Pozdní vazba Pozdní vazba zahrnuje určení vlastností objektů za běhu namísto přetypování proměnných na typ objektu v době návrhu. Jazyk Visual Basic provádí pozdní vazbu, když je vypnutá možnost Strict . Pokud je zapnutá možnost Strict , je nutné explicitně převést objekty a použít typy v System.Reflection oboru názvů pro přístup ke členům s pozdní vazbou. Další informace najdete v tématu Pozdní vazby v řešeních Office. Visual C# provádí pozdní vazbu v projektech, které cílí na rozhraní .NET Framework 4. Další informace najdete v tématu Pozdní vazby v řešeních Office.

Hlavní rozdíly mezi vývojem Office a spravovaným kódem

Následující tabulka ukazuje klíčové rozdíly mezi vývojem Office a spravovaným kódem napsaný v jazyce Visual Basic nebo Visual C#.

Funkce Popis Podpora jazyka Visual Basic a Visual C#
Indexy polí Dolní maticová mez kolekcí v systém Microsoft Office aplikací začíná číslem 1. Visual Basic a Visual C# používají 0 polí. Další informace naleznete v tématu Matice (průvodce programováním v C#) a Pole v jazyce Visual Basic. Pro přístup k první položce kolekce v objektovém modelu aplikace systém Microsoft Office použijte index 1 místo 0.