Psaní kódu v řešení Office
Existují některé aspekty psaní kódu v projektech systému Office, které se liší od jiných typů projektů v aplikaci Visual Studio.Mnohé z těchto rozdílů souvisí s způsob, jakým objektových modelů Office jsou vystaveny na spravovaný kód.Další rozdíly se vztahují k návrhu projektech systému Office.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v systému Office 2013 a Office 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.
Spravovaný kód a programování Office
Klíčové technologie, která umožňuje vytváření integrovaných řešení Microsoft Office je automatizace, který je součástí technologie modelu COM (Component Object).Automatizace umožňuje vytvořit a řídit softwarových objektů, které jsou vystaveny pomocí libovolné aplikace, knihovny DLL, použijte kód nebo ovládacího prvku ActiveX, který podporuje příslušné programového rozhraní.
Principy primární sestavení Interop
Aplikace Microsoft Office vystavit velkou část svých funkcí pro automatizaci.Nelze však používat spravovaný kód (například Visual Basic nebo C#) přímo k automatizaci aplikace sady Office.Chcete-li automatizovat aplikace systému Office s použitím spravovaného kódu, je nutné použít Office primární sestavení interop (PIA).Primární sestavení interop povolit spravovaný kód k interakci s modelem COM objekt aplikace sady Office.
Každá aplikace Microsoft Office obsahuje instrukci PIA.Při vytváření projektu aplikace sady Office v sadě Visual Studio je automaticky přidán odkaz na příslušné PIA do projektu.K automatizaci funkcí jiných aplikacích sady Office z projektu, musíte přidat odkaz na příslušné PIA ručně.Další informace naleznete v tématu Jak: cílová aplikace sady Office prostřednictvím primární sestavení Interop.
Pomocí primární sestavení Interop v době návrhu a Run Time
Musí mít PIA Office nainstalován a registrován v globální mezipaměť sestavení (GAC) na vašem vývojovém počítači provádět většinu úkolů rozvoje.Další informace naleznete v tématu Konfigurace počítače vyvinout řešení Office.
Sestaveních PIA sady Office nejsou povinny v počítačích koncových uživatelů spustit řešení systému Office cílených .NET Framework 4 nebo .NET Framework 4.5.Další informace naleznete v tématu Navrhování a vytváření řešení Office.
Pomocí typů v primární sestavení Interop
Sestaveních PIA sady Office obsahují kombinaci typů, které poskytují objektový model aplikace sady Office a další infrastruktury typy, které nejsou určeny pro použití přímo v kódu.Přehled typů v sestaveních PIA sady Office naleznete v tématu Overview of Classes and Interfaces in the Office Primary Interop Assemblies.
Typy v sestaveních PIA sady Office odpovídají typům v modelech objektu založená na modelu COM, způsob použití těchto typů bývá proto většinou liší od jiných spravovaných typů.Například tak, jak volat metody, které mají volitelné parametry v primární sestavení interop Office závisí na programovací jazyk, který používáte v projektu.Další informace naleznete v následujících tématech:
Programovací Model projekty Office
Všechny projekty Office zahrnují jeden nebo více generované třídy, které poskytují vstupní bod pro váš kód.Tyto třídy také poskytují přístup k objektovému modelu aplikace hostitele a přístup k funkcím, jako jsou například podokna akcí a vlastní podokna úloh.
Principy generované třídy
Generované třídy v projekty na úrovni dokumentu aplikace Excel a Word, podobný objekt nejvyšší úrovně v aplikačním objektovém modelu.Například generované ThisDocument třídy v projektu dokumentu aplikace Word obsahuje stejné členy jako Microsoft.Office.Interop.Word.Document třídy v objektovém modelu aplikace Word.Další informace o generované třídy v projekty na úrovni dokumentu naleznete v tématu Úpravy dokumentu úroveň programování.
Projekty na úrovni aplikace poskytují generované třídy s názvem ThisAddIn.Tato třída není podobné třídy v objektovém modelu aplikace hostitele.Místo toho tato třída představuje doplněk sám a obsahuje členy, které lze použít pro přístup k objektovému modelu aplikace hostitele a přistupovat k dalším funkcím, které jsou k dispozici doplňky.Další informace naleznete v tématu Doplňky aplikace úroveň programování.
Zahrnout všechny generované třídy v projektech systému Office Startup a Shutdown obslužné rutiny událostí.Chcete-li začít psát kód, obvykle přidejte kód pro tyto obslužné rutiny událostí.K inicializaci doplňku, můžete přidat kód, který Startup obslužnou rutinu události.K vyčištění prostředků používaných doplněk, můžete přidat kód, který Shutdown obslužnou rutinu události.Další informace naleznete v tématu Události v projektech Office.
Přístup k generované třídy v době běhu
Po zavedení řešení aplikace sady Office Visual Studio Tools for Office runtime vytvoří instanci každé generované třídy v projektu.Tyto objekty můžete přístup z libovolného kódu v projektu pomocí Globals třídy.Například můžete použít Globals třídy pro volání kódu ThisAddIn třídy z obslužné rutiny události tlačítko na pásu karet v doplněk aplikační úrovni.
Další informace naleznete 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
Nelze změnit výchozí obor názvů (nebo kořenový obor názvů v jazyce Visual Basic) Office Project po vytvoření projektu.Výchozí obor názvů bude vždy odpovídat název projektu, který jste zadali při vytváření projektu.Pokud změníte název projektu, nedojde ke změně výchozí obor názvů.Další informace o výchozí obor názvů v projektech naleznete v tématu Stránce aplikace Project Designer (C#) a Stránce aplikace Project Designer (Visual Basic).
Změna názvů hostitele položky třídy v jazyce C# projekty
Hostitelem třídy položky (například ThisAddIn, ThisWorkbook, nebo ThisDocument tříd) mají své vlastní obory názvů v projekty Visual C# Office.Obor názvů pro hostitele položek do projektu ve výchozím nastavení, odpovídá název projektu, který jste zadali při vytváření projektu.
Chcete-li změnit obor názvů pro hostitele položky v aplikaci Visual C# Office project, použijte oboru názvů pro hostitele položku vlastnost.Další informace naleznete v tématu Vlastnosti v projektech Office.
Podporované programovací jazyky v projektech systému Office
Projekt šablony sady Office v sadě Visual Studio podporuje pouze jazyce Visual Basic a Visual C# programovacích jazyků.Proto jsou k dispozici pouze v rámci těchto šablon projektů jazyka Visual Basic a Visual C# uzly Nový projekt dialogové okno v Visual Studio.Další informace naleznete v tématu Jak: vytvoření Office projekty v aplikaci Visual Studio.
Volbou jazyka a programování Office
Microsoft Office a Visual Basic for Applications (VBA) byly vyvinuty tak, aby společně optimalizovat pracovní postup vlastního nastavení aplikace.Visual Basic zdědil některé vývoj.Například Visual Basic podporuje volitelné parametry, což znamená, že můžete zapsat menší část kódu při volání některé metody v Microsoft Office primary interop assemblies než při použití jazyka Visual C#.
Programování pomocí jazyka Visual Basic VS. jazyka Visual C# v řešeních Office
Můžete vytvořit řešení systému Office pomocí jazyka Visual Basic nebo Visual C#.Protože objektových modelů aplikace Microsoft Office byly navrženy pro použití pomocí jazyka Microsoft Visual Basic for Applications (VBA), vývojáře jazyka Visual Basic můžete pohodlně pracovat s objekty, které jsou vystaveny v aplikacích Microsoft Office.V Visual Studio 2012, Visual C# mohou vývojáři většinu stejných funkcí jako vývojáře jazyka Visual Basic, existují však některé případy, kdy musíte napsat další kód pomocí objektových modelů Office.Existují také některé rozdíly mezi základní programovací funkce ve vývoji Office a spravovaný kód napsaný v jazyce Visual Basic a C#.
Hlavní rozdíly mezi Visual Basic a Visual C#
V následující tabulce jsou uvedeny hlavní rozdíly mezi Visual Basic a Visual C# vývoj Office.
Funkce |
Description |
Podpora jazyka Visual Basic |
Podpora jazyka Visual C# |
---|---|---|---|
Volitelné parametry |
Mnoho metod Microsoft Office mají parametry, které nejsou vyžadovány, pokud zavoláte metodu.Pokud žádná hodnota je předán jako parametr, je použita výchozí hodnota. |
Visual Basic podporuje volitelné parametry. |
Visual C# podporuje volitelné parametry ve většině případů.Další informace naleznete v tématu Volitelné parametry v Office Solutions. |
Předávání parametrů odkazem |
Volitelné parametry ve většině primární sestavení interop Microsoft Office může být předán podle hodnoty.Některé primární definiční sestavení, musí být předán volitelné parametry, které přijímají odkazové typy odkazem. Další informace o referenční hodnoty a typy parametrů, viz Předávání argumentů hodnotou a odkaz (Visual Basic) (pro jazyk Visual Basic) a Předávání parametrů (Příručka programování C#). |
Žádná další práce je potřeba předat parametry podle odkazu.Kompilátor jazyka Visual Basic automaticky předá parametry podle odkazu v případě potřeby. |
Kompilátor jazyka Visual C# ve většině případů automaticky předá parametry podle odkazu v případě potřeby.Další informace naleznete v tématu Volitelné parametry v Office Solutions. |
Parametrizované vlastnosti |
Některé vlastnosti přijímat parametry a zajišťovat funkce určené jen pro čtení. |
Visual Basic podporuje vlastnosti, které přijímají parametry. |
Visual C# podporuje vlastnosti, které přijímají parametry. |
Pozdní vazba |
Pozdní vazbu zahrnuje určení vlastností objektů za běhu, nikoli přetypování proměnné typu objektu v době návrhu. |
Visual Basic provede pozdní vazby při Option Strict je vypnuto.Při Option Strict je aktivní, je nutné explicitně převést objekty a typy použití v System.Reflection oboru názvů pro přístup k členům pozdní vazbou.Další informace naleznete v tématu Pozdní vazba v Office Solutions. |
Visual C# provede pozdní vazbu v projektech, které se zaměřují .NET Framework 4.Další informace naleznete v tématu Pozdní vazba v Office Solutions. |
Hlavní rozdíly mezi vývoj Office a spravovaný kód
V následující tabulce jsou uvedeny hlavní rozdíly mezi vývoj Office a spravovaný kód napsaný v jazyce Visual Basic nebo Visual C#.
Funkce |
Description |
Podpora jazyka Visual Basic a Visual C# |
---|---|---|
Pole indexů |
Dolní mez pole kolekcí v aplikacích Microsoft Office začíná 1.Visual Basic a Visual C# pomocí pole založené na 0.Další informace naleznete v tématu Matice (Příručka programování C#) a Matice v jazyce Visual Basic. |
K první položce kolekce v objektovém modelu aplikace sady Microsoft Office použijte index 1 namísto 0. |
Viz také
Úkoly
Jak: cílová aplikace sady Office prostřednictvím primární sestavení Interop
Jak: vytvoření obslužné rutiny událostí v projektech Office
Koncepty
Volitelné parametry v Office Solutions
Globální přístup k objektům v projektech Office