Τρόπος χρήσης του αυτοματισμού OLE στο Visio

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 309603 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

ΕΙΣΑΓΩΓΗ

Αυτό το άρθρο περιέχει πληροφορίες σχετικά με τον τρόπο χρήσης της Microsoft Visual Basic ή Microsoft Visual Basic for Applications (VBA) για την αυτοματοποίηση του Microsoft Office Visio2from κάποιο άλλο πρόγραμμα του Microsoft Office.

Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για λόγους επεξήγησης, χωρίς να παρέχει καμία εγγύηση, σιωπηρή ή ρητή. Σε αυτά περιλαμβάνονται, ενδεικτικά, οι σιωπηρές εγγυήσεις εμπορευσιμότητας ή/και καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία και τον εντοπισμό σφαλμάτων κώδικα διαδικασιών. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας, αλλά δεν θα τροποποιήσουν αυτά τα παραδείγματα, για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες, για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.

Επισκόπηση της αυτοματοποίησης

(Που ονομάζονται επίσης αυτοματισμούΑυτοματισμού OLE) στη Visual Basic είναι η διαδικασία τον έλεγχο σε ένα πρόγραμμα από ένα άλλο πρόγραμμα ή εργαλείο ανάπτυξης εξωτερικού. Μπορείτε να αυτοματοποιήσετε οποιοδήποτε πρόγραμμα που περιέχει μια της Visual Basicτο μοντέλο αντικειμένου. Ένα μοντέλο αντικειμένου είναι μια ιεραρχική συλλογή αντικειμένων του προγράμματος που είναι διαθέσιμες ήεκτίθενταιγια την Επεξεργασία Visual Basic.

Για παράδειγμα, το μοντέλο αντικειμένου για το Microsoft Visio περιέχει αντικείμενα, όπως:
  • Εφαρμογή/καθολικών αντικειμένων
  • Αντικείμενο εγγράφου
  • Αντικείμενο της σελίδας
  • Κύριο αντικείμενο
  • Επιλογή αντικειμένου
  • Αντικείμενο σχήματος
  • Το αντικείμενο παραθύρου
Καθένα από αυτά τα αντικείμενα έχει ένα μοναδικό σύνολο μεθόδους και ιδιότητες που απαιτούνται για να εργαστείτε με τους στη Visual Basic. Για παράδειγμα, ένα αντικείμενο σχήματος μπορεί να αντιπροσωπεύει οποιοδήποτε αντικείμενο στη σελίδα σχεδίασης του Visio που επιλέγετε χρησιμοποιώντας το δείκτη του ποντικιού. Επομένως, μπορεί να είναι ένα αντικείμενο σχήματος ενός σχήματος, μιας ομάδας, ένας οδηγός, ένα στοιχείο ελέγχου ή ένα αντικείμενο από ένα άλλο πρόγραμμα που είναι συνδεδεμένο, ενσωματωμένο ή εισαχθεί σε ένα σχέδιο του Visio.

Γρήγορα αποτελέσματα

Τα δείγματα κώδικα σε αυτό το άρθρο δείχνουν τον τρόπο ελέγχου του Visio από το Microsoft Office 2007, του Microsoft Office 2003, Microsoft Office 2002, Microsoft Visual Basic 6.0 ή από οποιοδήποτε πρόγραμμα που περιλαμβάνει ένα εργαλείο προγραμματισμού της Visual Basic. Για να αυτοματοποιήσετε το Visio, ακολουθήστε αυτά τα τέσσερα βασικά βήματα:
  1. Προσθέστε μια αναφορά για τη βιβλιοθήκη τύπων του Visio.
  2. Για να δηλώσετε μια μεταβλητή ως τύπος αντικειμένου του Visio (συνήθως Visio.Application ή Visio.Documents).
  3. Η μέθοδος GetObject ή CreateObject αντιστοιχίσετε τη μεταβλητή αντικειμένου που έχει δηλωθεί στο βήμα 2.
  4. Χρησιμοποιήστε τις ιδιότητες, μεθόδους και θυγατρικά αντικείμενα του αντικειμένου του Visio για τον αυτοματισμό του Visio.

Βήμα 1: Προσθήκη μιας αναφοράς για τη βιβλιοθήκη τύπων του Visio

Για να προσθέσετε μια αναφορά για τη βιβλιοθήκη τύπων του Visio με εφαρμογές του Microsoft Office, όπως το Microsoft Office XP ή το Office 2003, ακολουθήστε τα εξής βήματα:
  1. Στο σημείο πρόσβασης, το PowerPoint, το Excel ή το Word, για ναΜακροεντολέςΣτο διακομιστήΕργαλείαμενού και στη συνέχεια κάντε κλικΕπεξεργασία της Visual Basic.
  2. Στο διακομιστήΕργαλείαμενού, κάντε κλικ στο κουμπίΑναφορές.

    ΣΗΜΕΙΩΣΗΓια να προσθέσετε την αναφορά χρησιμοποιώντας το Microsoft Visual Basic 6.0, κάντε κλικ στο κουμπίΑναφορέςΣτο διακομιστήΤο έργοΜενού (Menu).
  3. Στη λίστα τωνΔιαθέσιμες αναφορές, κάντε κλικ για να επιλέξετε ένα από τα ακόλουθα πλαίσια ελέγχου, ανάλογα με την έκδοση του Visio που χρησιμοποιείτε:
    • Για το Visio 2007, κάντε κλικ για να επιλέξετε τοΒιβλιοθήκη τύπων του Microsoft Visio 12.0Πλαίσιο ελέγχου.
    • Για το Visio 2003, κάντε κλικ για να επιλέξετε τοΒιβλιοθήκη τύπων του Microsoft Visio 11.0Πλαίσιο ελέγχου.
    • For Visio 2002, click to select theMicrosoft Visio 2002 Type LibraryΠλαίσιο ελέγχου.
When you add the Microsoft Visio Type Library reference, your program can access Microsoft Visio Online Help and the Visio object model. Because the references are saved in each project, you have to add the Visio Type Library reference for each Visual Basic or VBA project that you want to use to automate Visio.

Step 2: Declare the object variable

To declare a Visio object variable, dimension a variable as a specific Visio object type, such as Visio.Application, Visio.Documents, or Visio.Page.

Καλείται η ρητή δήλωση του τύπου αντικειμένουπρώτη σύνδεσηεπειδή η εφαρμογή ελεγκτή συνδέεται ήσυνδέειthe object to the Visio application at compile-time rather than at run-time. This gives you access to Visio auto lists and context sensitive Help, and allows the code to run more efficiently.

For more information about object binding, click the following article number to view the article in the Microsoft Knowledge Base:
138138Late, ID, Early Binding types possible in VB for Apps
Το παρακάτω όρισμα της Visual Basic δείγμα δηλώνει τη μεταβλητήAppVisioas an object of type Visio.Application:

   Dim AppVisio as Visio.Application
				

Step 3: Set the variable

You can use the following two Visual Basic methods to activate Visio:
  • CreateObject
  • GetObject
The primary difference is that the CreateObject method creates a new instance of Visio, and the GetObject method uses an already running instance of Visio. You can also use GetObject to set your object variable to a specific Visio document.

Το ακόλουθο δείγμα όρισμα ορίζει τοAppVisiovariable to the Visio application using the CreateObject function:
   Dim AppVisio as Visio.Application

   Set AppVisio = CreateObject("Visio.Application")
				
In some cases, you might want to use an existing Visio instance if Visio is already running, but create a new instance if Visio is not running. To do this, create an error handler that uses the CreateObject method in the event that the GetObject method fails, as shown in this sample code:
   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

				
ΣΗΜΕΙΩΣΗYou can also use the CreateObject function to create a Visio instance that is invisible. Για παράδειγμα:
Set AppVisio = CreateObject("Visio.InvisibleApp")
				
You can then use the Application object's Visible property to control whether the instance is visible.

You can use the InvisibleApp object with only the CreateObject function. Attempts to use it with the GetObject function will fail. The InvisibleApp object is not available in versions of Visio earlier than Microsoft Visio 2000.

Step 4: Use the Visio objects, methods, and properties

After you complete steps 1 through 3, you can use the Visio object variable to automate Visio.

The following sample macro uses automation to start Visio, create a new drawing (document) based on the Basic Diagram template, drops a rectangle, adds some text, and saves the drawing and quits 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
				

Αναφορές

Microsoft Visio Developer Web sites

For more information about how to automate Visio, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/office/aa905478.aspx
For more information about how to develop Microsoft Visio solutions, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/aa217846(office.10).aspx

Visio Software Development Kits

To download the Visio 2002 Software Development Kit, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=d2845e80-6634-4703-9ad9-7e440ede12d7&displaylang=en

To download the Visio 2003 Software Development Kit, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=557120bd-b0bb-46e7-936a-b8539898d44d&displaylang=en

NewsGroups

The following peer-to-peer newsgroup is available to help you interact with other users of Visual Basic for Applications:
microsoft.public.vb.ole.automation
microsoft.public.visio.developer.vba

Visual Basic Help

For more information about how to use theCreateObjectfunction, in the Visual Basic Editor, clickΒοήθεια της Microsoft Visual BasicΣτο διακομιστήΒοήθεια (Help)μενού, πληκτρολογήστεη συνάρτηση CreateObjectΣτοΑναζήτησηπλαίσιο και στη συνέχεια κάντε κλικΑναζήτησηto view the topics that are returned.

For more information about how to use theGetObjectfunction, in the Visual Basic Editor, clickΒοήθεια της Microsoft Visual BasicΣτο διακομιστήΒοήθεια (Help)μενού, πληκτρολογήστεσυνάρτηση GetObjectΣτοΑναζήτησηπλαίσιο και στη συνέχεια κάντε κλικΑναζήτησηto view the topics that are returned.

Ιδιότητες

Αναγν. άρθρου: 309603 - Τελευταία αναθεώρηση: Δευτέρα, 20 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • 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
Λέξεις-κλειδιά: 
kbautomation kbprogramming kbvba kbhowto kbmt KB309603 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:309603

Αποστολή σχολίων

 

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