Sdílet prostřednictvím


Programování přizpůsobení na úrovni dokumentu

Při rozšíření Microsoft Office Word nebo Microsoft Office Excel pomocí přizpůsobení úroveň dokument můžete provádět následující úkoly:

  • Automatizace aplikace pomocí jeho objektový model.

  • Přidání ovládacích prvků na povrchu dokumentu.

  • Volání jazyka Visual Basic pro Applications (VBA) kód v dokumentu ze sestavení vlastního nastavení.

  • Volání kódu v sestavení vlastního nastavení z jazyka VBA.

  • Spravujte určité aspekty dokumentu, i když je na serveru, který nemá nainstalován Microsoft Office.

  • Přizpůsobení uživatelského rozhraní (UI) aplikace.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v těchto aplikacích: Excel 2013 a Excel 2010; Word 2013 a Word 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.

Některé aspekty zápisu kódu na projekty na úrovni dokumentu se liší od jiných typů projektů v aplikaci Visual Studio.Mnohé z těchto rozdílů je způsobena tím, Office, objektové modely, které jsou vystaveny na spravovaný kód.Další informace naleznete v tématu Psaní kódu v řešeních pro systém Office.

Obecné informace o přizpůsobení úrovni dokumentů a dalších typů řešení, která můžete vytvořit pomocí nástroje pro vývoj Office v sadě Visual Studio naleznete v tématu Přehled vývoje řešení pro systém Office.

Projekty na úrovni dokumentu pomocí vygenerované třídy

Při vytváření projektu na úrovni dokumentu aplikace Visual Studio automaticky generuje třídy v projektu, který můžete začít psát kód.Sada Visual Studio generuje různé třídy pro aplikaci Word a Excel:

  • V projekty na úrovni dokumentu aplikace Word, se nazývá třída ThisDocument ve výchozím nastavení.

  • Projekty na úrovni dokumentu aplikace Excel mají více generované třídy: jeden pro vlastní sešit a jeden pro každý list.Tyto třídy mají ve výchozím nastavení následující názvy:

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

Generovaná třída obsahuje obslužné rutiny událostí, které jsou volány, když se dokument otevře nebo zavře.Ke spuštění kódu při otevření dokumentu, přidejte kód, který Startup obslužnou rutinu události.Chcete-li spustit kód, těsně před zavření dokumentu, přidejte kód, který Shutdown obslužnou rutinu události.Další informace naleznete v tématu Události v projektech pro systém Office.

Principy návrhu generované třídy

V projektech cílených .NET Framework 4 nebo .NET Framework 4,5, zadá položku hostitele Visual Studio Tools for Office runtime jsou rozhraní, takže generované třídy nelze odvodit jejich provádění, z nich.Většina jejich členů generované třídy jsou však odvozeny ze základní třídy, které následující:

Tyto základní třídy přesměrovat všechna volání svých členů na interní implementace odpovídající položky rozhraní hostitele v Visual Studio Tools for Office runtime.Například, pokud zavoláte Protect metoda ThisDocument třídy, DocumentBase třída přesměruje volání interní provedení Document rozhraní v Visual Studio Tools for Office runtime.

Přístup k objektovému modelu aplikace hostitele

Chcete-li získat přístup k objektovému modelu aplikace hostitele, použijte členy generované třídy v projektu.Každá z těchto tříd odpovídá objektu v modelu objektu aplikace Excel nebo Word a obsahují většinu stejné vlastnosti, metody a události.Například ThisDocument odvětví v projektu na úrovni dokumentu v aplikaci Word poskytuje většinu stejné členy jako Document objektu v objektovém modelu aplikace Word.

Následující příklad kódu ukazuje, jak použít objektový model aplikace Word k uložení dokumentu, který je součástí přizpůsobení úroveň dokument aplikace Word.Tento příklad je určen ke spuštění z ThisDocument třídy.

Me.Save()
this.Save();

Chcete-li totéž z mimo ThisDocument třídy, použijte Globals objekt pro přístup ThisDocument třídy.Například můžete přidat tento kód do souboru kódu podokno akcí v případě, že chcete zahrnout Uložit tlačítko v podokně Akce uživatelského rozhraní.

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

Protože ThisDocument třída získá většinu svých členů z Document položku hostitele Save metodu, která je volána v tomto kódu je ve skutečnosti Save metoda Document položku hostitele.Tato metoda odpovídá Save metoda Document objektu v objektovém modelu aplikace Word.

Další informace o používání objektových modelů aplikace Word a Excel naleznete v tématu Přehled modelu objektů aplikace Word a Přehled modelu objektů aplikace Excel.

Další informace týkající Globals objektu naleznete v tématu Globální přístup k objektům v projektech pro systém Office.

Přidání ovládacích prvků do dokumentů

Přizpůsobení uživatelského rozhraní dokumentu, můžete přidat ovládací prvky model Windows Forms nebo ovládacími prvky hostitele na povrchu dokumentu.Diakritické znaménko různé sady ovládacích prvků a psaní kódu, že můžete svázat ovládací prvky s daty, shromažďovat informace od uživatele a reagují na akce uživatele.

Ovládací prvky hostitele jsou třídy, které rozšiřují některé objekty v objektovém modelu aplikace Word a Excel.Například ListObject hostitele ovládací prvek poskytuje všechny funkce ListObject v aplikaci Excel.Nicméně ListObject hostitelského ovládacího prvku má také další události a schopnosti týkající se datové vazby.

Další informace naleznete v tématu Přehled hostitelských položek a hostitelských ovládacích prvků a Přehled ovládacích prvků Windows Forms v dokumentech Office.

Diakritické znaménko VBA a úpravy na úrovni dokumentu

Můžete použít kód jazyka VBA v dokumentu, který je součástí přizpůsobení úroveň dokument.Kód jazyka VBA v dokumentu můžete volat ze sestavení vlastního nastavení a můžete také nakonfigurovat projekt umožňuje kódu jazyka VBA v dokumentu k volání kódu v sestavení vlastního nastavení.

Další informace naleznete v tématu Kombinování přizpůsobení na úrovních VBA a dokumentu.

Správa dokumentů na serveru

Můžete spravovat různé aspekty úpravy na úrovni dokumentu na serveru, který nemá aplikaci Microsoft Office Word nebo Microsoft Office Excel nainstalována.Můžete například získat přístup k a měnit data uložená v mezipaměti data dokumentu.Můžete také spravovat sestavení vlastního nastavení, které je přidružené k dokumentu.Například můžete programově odebrat sestavení z dokumentu tak, aby dokument již spustí váš kód nebo sestavení programově lze připojit k dokumentu.

Další informace naleznete v tématu Správa dokumentů na serveru s použitím třídy ServerDocument.

Přizpůsobení uživatelského rozhraní aplikací sady Microsoft Office

Pomocí vlastního nastavení úrovni dokumentu, můžete přizpůsobit uživatelské rozhraní aplikace Word a Excel následujícími způsoby:

Další informace o přizpůsobení aplikace uživatelského rozhraní sady Microsoft Office naleznete v tématu Přizpůsobení uživatelského rozhraní systému Office.

Získání rozšířené objekty z nativní Office objekty v dokumentu úroveň vlastního nastavení

Mnoho obslužných rutin událostí pro události sady Office se zobrazí nativní objekt sady Office, který představuje sešitu, listu nebo dokumentu, který vyvolal událost.V některých případech můžete chtít spustit kód, pouze v případě, že sešitu nebo dokumentu ve vlastní úroveň dokument vyvolal událost.Například v přizpůsobení úroveň dokument pro aplikaci Excel, můžete chtít spustit nějaký kód, když uživatel aktivuje jeden z listů v sešitu vlastní, ale ne v případě, že uživatel aktivuje listu v jiném sešitu, který se stane být otevřen ve stejnou dobu.

Je-li nativní objekt sady Office, můžete otestovat, zda tento objekt byl rozšířen do položku hostitelské nebo hostitelského ovládacího prvku do vlastního nastavení úrovni dokumentu.Položkami hostitele a ovládacími prvky hostitele jsou typy poskytovaných Visual Studio Tools for Office runtime , přidávat funkce do objektů, které existují v objektových modelů aplikace Word nebo Excel nativně (nazývané nativní objekty Office).Položkami hostitele a ovládacími prvky hostitele se také nazývají rozšířených objektů. Další informace o položkami hostitele a ovládacími prvky hostitele naleznete v tématu Přehled hostitelských položek a hostitelských ovládacích prvků.

Informace o GetVstoObject a HasVstoObject metody

Chcete-li vyzkoušet nativní objekt sady Office, použijte HasVstoObject a GetVstoObject metody v projektu:

  • Použití HasVstoObject metoda, pokud chcete zjistit, zda nativní objekt sady Office obsahuje rozšířené objekt do vašeho vlastního nastavení.Tato metoda vrátí true pokud nativní objekt Office má objekt rozšířené a false jinak.

  • Použití GetVstoObject metoda, pokud chcete získat rozšířené objekt pro nativní objekt sady Office.Tato metoda vrátí ListObject, Workbook, Worksheet, nebo Document objekt, pokud zadaný objekt nativní Office má jednu.V opačném případě se GetVstoObject vrátí null.Například GetVstoObject metoda vrátí Document -li zadaná Document je základní objekt pro dokument v projektu dokumentu aplikace Word.

Projekty na úrovni dokumentu, nemůžete použít GetVstoObject metody pro vytvoření nového Workbook, Worksheet, nebo Document položku hostitele v době běhu.Tuto metodu můžete použít pouze pro přístup k existující položky hostitele, které jsou generovány v projektu v době návrhu.Pokud chcete vytvořit nové položky hostitel v době běhu, je třeba vytvořit projekt na úrovni aplikace.Další informace naleznete v tématu Programová omezení hostitelských položek a hostitelských ovládacích prvků a Rozšíření dokumentů aplikace Word a sešitů aplikace Excel v doplňcích na úrovni aplikace za běhu.

Pomocí GetVstoObject a HasVstoObject metody

Volat HasVstoObject a GetVstoObject metody, použití Globals.Factory.GetVstoObject nebo Globals.Factory.HasVstoObject metoda a průchod v nativní objekt aplikace Word nebo Excel (jako je například Document nebo Worksheet), kterou chcete testovat.

Viz také

Koncepty

Správa dokumentů na serveru s použitím třídy ServerDocument

Psaní kódu v řešeních pro systém Office

Další zdroje

Ovládací prvky v dokumentech Office

Kombinování přizpůsobení na úrovních VBA a dokumentu