Jak v aplikaci Visio pomocí automatizace OLE

Překlady článku Překlady článku
ID článku: 309603 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Úvod

Tento článek obsahuje informace o použití jazyka Visual Basic nebo Microsoft Visual Basic for Applications) k automatizaci Microsoft Office Visio2from jiné aplikaci sady Microsoft Office.

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené,. včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele.

Přehled automatizace

Automatizace (také nazývané automatizace OLE) v jazyka je proces řízení jeden program z jiného programu nebo externí vývojový nástroj. Program, který obsahuje jazyka objektového modelu lze automatizovat. Model objektu je hierarchickou kolekci objektů, které jsou k dispozici program nebo vystavena jazyka.

Model objektu aplikace Microsoft Visio obsahuje například objekty jako například:
  • Globální/aplikace objektu
  • Objekt dokumentu
  • Objekt Page
  • Hlavní objekt
  • Výběr objektu
  • Obrazec objekt
  • Okno objekt
Každý z těchto objektů má jedinečnou sadu metod a vlastností, které jsou požadovány pracovat s nimi v jazyka. Tvar objektu může například představovat libovolný objekt na stránce výkresu Visio, které můžete vybrat pomocí ukazatele myši. Proto obrazce Objekt může být obrazec, skupinu, vodítko, ovládacího prvku nebo objektu z jiného programu, který je spojen vložených nebo importovaných do výkresu aplikace Visio.

Začínáme

Ukázky kódu v tomto článku ukazují, jak řídit Visio z aplikace Microsoft Office 2007, Microsoft Office 2003, Microsoft Office 2002, Microsoft Visual Basic 6.0 nebo z programu, který zahrnuje vývojový nástroj jazyka. K automatizaci Visio postupujte čtyři hlavní takto:
  1. Přidejte odkaz na knihovnu typů Visio.
  2. Deklarovat proměnnou jako typ objektu Visio (obvykle Visio.Application nebo Visio.Documents).
  3. Metoda CreateObject nebo GetObject přiřadit objektu proměnné deklarované v kroku 2.
  4. Podřízené objekty, metody a vlastnosti objektu Visio použít k automatizaci Visio.

Krok 1: Přidání odkaz na knihovnu typů Visio

Přidat odkaz na knihovnu typů Visio pomocí aplikací sady Microsoft Office, jako například Microsoft Office XP nebo Office 2003, postupujte takto:
  1. V Access, PowerPoint, Excel nebo Word přejděte na příkaz makra v nabídce Nástroje a potom klepněte na příkaz Editor jazyka.
  2. V nabídce Nástroje klepněte na odkazy.

    Poznámka: Přidat odkaz pomocí Microsoft Visual Basic 6.0, klepněte na odkazy v nabídce projekt.
  3. V seznamu Dostupné odkazy klepnutím vyberte jednu z následujících zaškrtávacích políček v závislosti na verzi aplikace Visio, který používáte:
    • Pro aplikaci Visio 2007 klepnutím zaškrtněte políčko Knihovna typů Microsoft Visio 12.0.
    • Visio 2003 klepněte na políčko Knihovna typů Microsoft Visio 11.0.
    • Pro aplikaci Visio 2002 klepnutím zaškrtněte políčko Knihovna typů Microsoft Visio 2002.
Při přidání odkazu knihovna typů Microsoft Visio můžete přístup programu Visio Online nápovědě a objektovém modelu aplikace Visio. Protože odkazy jsou uloženy v každém projektu, máte přidat odkaz na knihovnu typů Visio pro každý projekt jazyka nebo VBA, který chcete použít k automatizaci Visio.

Krok 2: Deklarovat objektové proměnné

K deklarování proměnné, dimenze objekt Visio proměnné jako konkrétní typ objektu Visio, například Visio.Application, Visio.Documents nebo Visio.Page.

Typ objektu se nazývá brzy vazby, protože aplikace řadič připojuje explicitně deklarovat nebo sváže objektu aplikace Visio v době kompilace, nikoli při spuštění. Umožňuje přístup k kontextovou nápovědou a Visio automatické seznamy a umožňuje efektivněji spuštění kódu.

Další informace o objektu vazby klepněte na následující číslo článku databáze Microsoft Knowledge Base:
138138Pozdě ID, nejdříve možné vazba typy možných VB pro aplikace
Následující ukázkový jazyka argument Deklaruje proměnnou AppVisio jako objekt typu Visio.Application:

   Dim AppVisio as Visio.Application
				

Krok 3: Nastavení proměnné

Pomocí následujících dvou metod jazyka můžete aktivovat Visio:
  • CreateObject
  • GetObject
Primární rozdíl je metoda CreateObject vytvoří novou instanci aplikace Visio a již spuštěna instance Visio používá metody GetObject. Nastavit objekt proměnná určitého dokumentu Visio můžete použít také GetObject.

Následující ukázkový argument nastaví proměnnou AppVisio aplikace Visio pomocí CreateObject funkce:
   Dim AppVisio as Visio.Application

   Set AppVisio = CreateObject("Visio.Application")
				
v některých případech můžete chtít použít existující instance Visio Pokud Visio již spuštěna, ale pokud není spuštěna Visio vytvoření nové instance. Vytvořit popisovač chyb, které používá metoda CreateObject v případě, že metody GetObject se nezdaří, jak je znázorněno tento ukázkový kód:
   Dim AppVisio As Visio.Application

   On Error Resume Next

   Set AppVisio = GetObject(, "visio.application")

   If AppVisio Is Nothing Then
      Set AppVisio = CreateObject("visio.application")
   End If

				
Poznámka také pomocí můžete funkce CreateObject vytvořit aplikace Visio je instance neviditelné. Například:
Set AppVisio = CreateObject("Visio.InvisibleApp")
				
zda instance je zobrazen, můžete potom použít vlastnost Visible objektu Application ovládací prvek.

Můžete použít objekt InvisibleApp s funkce CreateObject. Pokusí se použít s GetObject funkce se nezdaří. InvisibleApp objekt není k dispozici ve verzích Visio starších než Microsoft Visio 2000.

Krok 4: Použití Visio objekty, metody a vlastnosti

Po dokončení kroků 1 až 3 aplikace Visio můžete použít k automatizaci Visio objektové proměnné.

Následující ukázkové makro používá ke spuštění aplikace, vytvořit nový výkres (dokument) na základě šablony Základní Diagram automatizace, klesne obdélník, přidá některé text a uloží výkresu a ukončí Visio.
Sub AutoVisio()

   
   Dim AppVisio As Visio.Application  ' Declare an Instance of Visio.
   Dim docsObj As Visio.Documents     ' Documents collection of instance.
   Dim DocObj As Visio.Document       ' Document to work in.
   Dim stnObj As Visio.Document       ' Stencil that contains master.
   Dim mastObj As Visio.Master        ' Master to drop.
   Dim pagsObj As Visio.Pages         ' Pages collection of document.
   Dim pagObj As Visio.Page           ' Page to work in.
   Dim shpObj As Visio.Shape          ' Instance of master on page.

   ' Create an instance of Visio and create a document based on the
   ' Basic Diagram template. It doesn't matter if an instance of
   ' Visio is already running, CreateObject will run a new one.
   Set AppVisio = CreateObject("visio.application")

   Set docsObj = AppVisio.Documents

   ' Create a document based on the Basic Diagram template that
   ' automatically opens the Basic Shapes stencil.
   Set DocObj = docsObj.Add("Basic Diagram.vst")

   Set pagsObj = AppVisio.ActiveDocument.Pages

   ' A new document always has at least one page, whose index in the
   ' Pages collection is 1.
   Set pagObj = pagsObj.Item(1)

   Set stnObj = AppVisio.Documents("Basic Shapes.vss")
   Set mastObj = stnObj.Masters("Rectangle")

   ' Drop the rectangle in the approximate middle of the page.
   ' Coordinates passed with the Drop method are always inches.
   Set shpObj = pagObj.Drop(mastObj, 4.25, 5.5)

   ' Set the text of the rectangle.
   shpObj.Text = "This is some text."

   ' Save the drawing and quit Visio. The message pauses the program
   ' so you can see the Visio drawing before the instance closes.
   DocObj.SaveAs "MyDrawing.vsd"
   MsgBox "Drawing finished!", , "AutoVisio (OLE) Example"

   ' Quit Visio.
   AppVisio.Quit

   ' Clear the variable from memory.
   Set AppVisio = Nothing

End Sub
				

Odkazy

Webů Microsoft Visio Developer

Další informace o automatizaci Visio naleznete na následujícím webu:
http://msdn2.microsoft.com/en-us/office/aa905478.aspx
Další informace o vývoji Microsoft Visio řešení, naleznete na následujícím webu:
http://msdn2.microsoft.com/en-us/library/aa217846(office.10).aspx

Visio Software Development Kit

Stáhnout Visio 2002 Software Development Kit, navštivte následující web:
http://www.microsoft.com/downloads/details.aspx?familyid=d2845e80-6634-4703-9ad9-7e440ede12d7&displaylang=en

Stáhnout Visio 2003 Software Development Kit, navštivte následující web:
http://www.microsoft.com/downloads/details.aspx?familyid=557120bd-b0bb-46e7-936a-b8539898d44d&displaylang=en

Diskusní skupiny

Následující diskusní skupinu typu peer-to-peer je k dispozici k interakci s ostatním uživatelům jazyka pro aplikace:
Microsoft.Public.VB.OLE.Automation
Microsoft.Public.Visio.Developer.VBA

Nápověda jazyka

Další informace o použití funkce CreateObject v editoru jazyka klepněte v nabídce Nápověda pro Microsoft Visual Basic do pole Hledat zadejte funkce createobject a klepněte na tlačítko Hledat zobrazíte témata jsou vráceny.

Další informace o použití funkce GetObject v editoru jazyka klepněte v nabídce Nápověda pro Microsoft Visual Basic zadejte funkce getobject do pole Hledat a potom klepněte na tlačítko Hledat témata jsou vráceny zobrazit.

Vlastnosti

ID článku: 309603 - Poslední aktualizace: 11. dubna 2007 - Revize: 4.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office Visio Standard 2007
  • Microsoft Office Visio Professional 2007
  • Microsoft Office Visio Standard 2003
  • Microsoft Office Visio Professional 2003
  • Microsoft Visio 2002 Standard Edition
  • Microsoft Visio 2002 Professional Edition
Klíčová slova: 
kbmt kbautomation kbprogramming kbvba kbhowto KB309603 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:309603

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com