OLE-automatisering gebruiken in Visio

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 309603 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

INLEIDING

Dit artikel bevat informatie over het gebruik van Microsoft Visual Basic of Microsoft Visual Basic for Applications (VBA) te automatiseren Microsoft Office-Visio2from een andere Microsoft Office-programma.

Microsoft biedt program meer voorbeelden ter illustratie zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met het programmeren bent taal worden opgespoord en de hulp middelen die worden gebruikt voor het maken en procedures voor fout opsporing. Ondersteuningstechnici van Microsoft kunnen helpen verklaren de de functionaliteit van een bepaalde procedure, maar zij zullen deze niet worden gewijzigd voorbeelden voor de toegevoegde functionaliteit of samens tellen van procedures om te voldoen aan de specifieke eisen.

Overzicht van automatisering

Automatisering (ook welOLE-automatisering) is het proces voor het beheren van een programma in Visual Basic een ander programma of hulp programma externe ontwikkeling. U kunt automatisch een programma bevat een Visual Basicobjectmodel. Een objectmodel is een hiërarchische verzameling van het programma objecten die beschikbaar zijn ofblootgesteldin Visual Basic.

Bijvoorbeeld het objectmodel voor Microsoft Visio bevat objecten zoals:
  • Application/global-object
  • Document-object
  • Page-object
  • Hoofd object
  • Selectie object
  • Shape-object
  • Window-object
Elk van deze objecten heeft een unieke verzameling methoden en eigenschappen die nodig zijn om te werken in Visual Basic. Bijvoorbeeld, een Shape-object kan een willekeurig object in een Visio-tekenpagina die u kunt voorstellen Selecteer met de muis aanwijzer. Daarom kan een object Shape een shape, een groep een hulp lijn, besturings element of een object vanuit een ander programma is gekoppeld, is ingesloten of geïmporteerd in een Visio-tekening.

Aan de slag

De code voorbeelden in dit artikel demonstreren hoe u Visio vanuit Microsoft Office 2007, Microsoft Office 2003, Microsoft Office 2002, Microsoft Visual Basic 6. 0, of vanuit een programma met een Visual Basic-ontwikkeling hulp programma. Visio automatiseren, vier belangrijkste stappen te volgen:
  1. Voeg een verwijzing naar de Visio-typebibliotheek.
  2. (Meestal een variabele declareren als een Visio-objecttype Visio. Application of Visio.Documents).
  3. De methode GetObject of CreateObject toewijzen aan het object variabele die u in stap 2 hebt gedeclareerd.
  4. Eigenschappen, methoden en kind het Visio-object gebruiken automatiseren van Visio-objecten.

Stap 1: Voeg een verwijzing naar de typebibliotheek van Visio

Een verwijzing naar de Visio-typebibliotheek toevoegen met behulp van Microsoft Office-toepassingen zoals Microsoft Office XP of Office 2003, voert u de volgende stappen:
  1. Wijs in Access, PowerPoint, Excel of WordMacro'sop deHulp programma'sin het menu en klik vervolgens opVisual Basic-Editor.
  2. Op deHulp programma'smenu, klikt u opVerwijzingen.

    OpmerkingDe verwijzing die met Microsoft Visual Basic 6. 0 wilt toevoegen, klikt u opVerwijzingenop deProjectmenu.
  3. In de lijst metBeschikbare verwijzingen, klik op een van de volgende selectie vakjes in, afhankelijk van de versie van Visio die u gebruikt:
    • Voor Visio 2007, klik op deTypebibliotheek van Microsoft Visio 12. 0selectie vakje.
    • Voor Visio 2003, klik op deTypebibliotheek van Microsoft Visio 11. 0selectie vakje.
    • Voor Visio 2002, klikt u op op deType bibliotheek van Microsoft Visio 2002selectie vakje.
Wanneer u de Microsoft Visio-typebibliotheek verwijzing toevoegen uw programma toegang tot on line Help van Microsoft Visio en het Visio-objectmodel. Omdat de verwijzingen in elk project worden opgeslagen, moet u het Visio toevoegen Typ de referentie bibliotheek voor elke Visual Basic of VBA-project dat u wilt Gebruik Visio automatiseren.

Stap 2: De object variabele declareren

Een Visio-object variabele wilt declareren, dimensie een variabele als een specifieke Visio-objecttype, zoals Visio. Application, Visio.Documents, of Visio. Page.

Expliciet declareren van het objecttype wordt aangeroepen.vroege bindingomdat de controller toepassing maakt verbinding ofbindshet object aan de Visio-toepassing tijdens het compileren in plaats van tijdens runtime. Hierdoor krijgt u toegang tot het Visio automatisch lijsten en contextgevoelig Help en stelt de code efficiënter worden uitgevoerd.

Voor meer informatie over object binding Klik op het volgende artikelnummer om het artikel weer te geven in de Microsoft Knowledge Base:
138138Te laat, ID, vroege Binding mogelijk typen in VB voor toepassingen
Het volgende voorbeeld Visual Basic argument verklaart de variabeleAppVisioAls een object van het type Visio. Application:

   Dim AppVisio as Visio.Application
				

Stap 3: De variabele instellen

U kunt de volgende twee methoden van Visual Basic te activeren Visio:
  • CreateObject
  • GetObject
Het belangrijkste verschil is dat de methode CreateObject wordt gemaakt een nieuw exemplaar van Visio en de methode GetObject wordt gebruikt op een reeds uitgevoerd de instantie van Visio. U kunt ook GetObject aan de object variabele ingesteld op een specifieke Visio-document.

De volgende voorbeeld argument stelt deAppVisiovariabele naar de Visio-toepassing met behulp van de functie CreateObject functie:
   Dim AppVisio as Visio.Application

   Set AppVisio = CreateObject("Visio.Application")
				
In sommige gevallen wilt u misschien een bestaand exemplaar van Visio gebruiken als Visio is al actief, maar maakt een nieuw exemplaar als Visio niet wordt uitgevoerd. Naar Dit doet, maakt u een fout afhandelings routine die gebruikmaakt van de methode CreateObject in de gebeurtenis dat de methode GetObject werkt niet, zoals in deze voorbeeldcode:
   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

				
OpmerkingU kunt ook de functie CreateObject een Visio maken instantie die onzichtbaar is. Bijvoorbeeld:
Set AppVisio = CreateObject("Visio.InvisibleApp")
				
U kunt het Application-object zichtbaar besturings element eigenschap of het exemplaar wordt weer gegeven.

U kunt het object InvisibleApp met alleen de functie CreateObject. Probeert te gebruiken met de GetObject functie mislukt. Het object InvisibleApp is niet beschikbaar in versies van Visio ouder dan Microsoft Visio 2000.

Stap 4: Gebruik de objecten, methoden en eigenschappen van Visio

Nadat u stappen 1 tot en met 3 hebt uitgevoerd, kunt u het Visio object variabele Visio automatiseren.

De volgende voorbeeld macro gebruikt Automatisering met Visio start, maakt een nieuwe tekening (document) op basis van de Basic Diagram sjabloon druppels van een rechthoek, tekst toegevoegd en wordt de tekening opgeslagen en Sluit Visio af.
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
				

Referenties

Websites van Microsoft Visio Developer

Voor meer informatie over het automatiseren van Visio, gaat u naar de volgende Microsoft-website:
http://msdn2.Microsoft.com/en-us/Office/aa905478.aspx
Voor meer informatie over het ontwikkelen van Microsoft Visio oplossingen, gaat u naar de volgende Microsoft-website:
(office.10) http://msdn2.Microsoft.com/en-us/library/aa217846. aspx

Visio-Software Development Kits

Downloaden van de Software Development Kit voor Visio 2002, gaat u naar de volgende Microsoft-website:
http://www.Microsoft.com/downloads/details.aspx?FamilyID=d2845e80-6634-4703-9ad9-7e440ede12d7&displaylang=en

U kunt downloaden van Visio 2003 Software Development Kit de volgende Microsoft-website:
http://www.Microsoft.com/downloads/details.aspx?FamilyID=557120bd-b0bb-46e7-936a-b8539898d44d&displaylang=en

Nieuwsgroepen

De volgende peer-to-peer-nieuwsgroep is beschikbaar om u te helpen communiceren met andere gebruikers van Visual Basic for Applications:
Microsoft.public.VB.OLE.Automation
Microsoft.public.Visio.Developer.VBA

Visual Basic Help

Voor meer informatie over het gebruik van deCreateObjectKlik op functie, in de Visual Basic EditorMicrosoft Visual Basic Helpop deHelpin het menu typeCreateObject, functiein deZoekenvak en klik vervolgens opZoekenom de gevonden onderwerpen weer geven.

Voor meer informatie informatie over het gebruik van deGetObjectKlik op functie, in de Visual Basic EditorMicrosoft Visual Basic Helpop deHelpin het menu typefunctie GetObjectin deZoekenvak en klik vervolgens opZoekenom de gevonden onderwerpen weer geven.

Eigenschappen

Artikel ID: 309603 - Laatste beoordeling: maandag 28 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Office Visio Standard 2007
  • Microsoft Office Visio Professional 2007
  • Microsoft Office Visio Professional 2003
  • Microsoft Visio 2002 Standard Edition
  • Microsoft Visio 2002 Professional Edition
Trefwoorden: 
kbautomation kbprogramming kbvba kbhowto kbmt KB309603 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:309603

Geef ons feedback

 

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