Làm th? nào đ? s? d?ng t? đ?ng hóa OLE trong Visio

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 309603 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

GI?I THI?U

Bài vi?t này ch?a thông tin v? cách s? d?ng Microsoft Visual Basic ho?c Microsoft Visual Basic for Applications (VBA) đ? t? đ?ng hóa Microsoft Office Visio2from m?t Microsoft Văn ph?ng chương tr?nh.

Microsoft cung c?p l?p tr?nh ví d? đ? minh ho? ch?, không có b?o hành ho?c th? hi?n hay ng? ?. Đi?u này bao g?m, nhưng không gi?i h?n đ? b?o đ?m ng? ? kh? năng bán hàng ho?c cho m?t c? th? m?c đích. Bài vi?t này gi? đ?nh r?ng b?n đ? quen thu?c v?i các chương tr?nh ngôn ng? đang đư?c ch?ng minh và v?i các công c? đư?c s? d?ng đ? t?o ra và g? l?i th? t?c. Microsoft h? tr? các k? sư có th? giúp gi?i thích các ch?c năng c?a m?t th? t?c c? th?, nhưng h? s? không s?a đ?i các Ví d? đ? cung c?p thêm ch?c năng ho?c xây d?ng quy tr?nh đ? đáp ?ng c?a b?n yêu c?u c? th?.

T?ng quan v? t? đ?ng hóa

T? đ?ng hóa (c?n g?i là OLE t? đ?ng hóa) trong Visual Basic là quá tr?nh c?a vi?c ki?m soát m?t chương tr?nh t? m?t chương tr?nh ho?c công c? phát tri?n bên ngoài. B?n có th? t? đ?ng hoá b?t k? chương tr?nh mà có m?t Visual Basic mô h?nh đ?i tư?ng. M?t mô h?nh đ?i tư?ng là m?t b? sưu t?p th? b?c c?a chương tr?nh các đ?i tư?ng có s?n ho?c ti?p xúc Visual BASIC.

Ví d?, các mô h?nh đ?i tư?ng cho Microsoft Visio ch?a các đ?i tư?ng ch?ng h?n như:
  • ?ng d?ng/toàn c?u đ?i tư?ng
  • Đ?i tư?ng tài li?u
  • Trang đ?i tư?ng
  • Đ?i tư?ng ch?
  • L?a ch?n đ?i tư?ng
  • Đ?i tư?ng h?nh d?ng
  • Đ?i tư?ng c?a s?
M?i ngư?i trong các đ?i tư?ng có m?t b? duy nh?t c?a phương pháp và b?t đ?ng s?n đư?c yêu c?u đ? làm vi?c v?i h? trong Visual Basic. Ví d?, m?t Đ?i tư?ng h?nh d?ng có th? đ?i di?n cho b?t k? đ?i tư?ng trên m?t Visio v? trang mà b?n có th? ch?n b?ng cách s? d?ng con tr?. V? v?y, m?t đ?i tư?ng h?nh d?ng có th? có m?t h?nh d?ng, m?t nhóm, m?t hư?ng d?n, m?t đi?u khi?n ho?c m?t đ?i tư?ng t? m?t chương tr?nh khác đư?c liên k?t, nhúng, ho?c nh?p kh?u vào m?t b?n v? Visio.

B?t đ?u

M?u m? trong bài vi?t này ch?ng minh làm th? nào đ? ki?m soát Visio t? Microsoft Office 2007, Microsoft Office 2003, Microsoft văn ph?ng 2002, Microsoft Visual Basic 6.0, ho?c t? b?t k? chương tr?nh mà bao g?m m?t s? phát tri?n Visual Basic công c?. Đ? t? đ?ng hoá Visio, h?y làm theo các bư?c sau b?n chính:
  1. Thêm m?t tham chi?u đ?n các thư vi?n ki?u Visio.
  2. Khai báo m?t bi?n như m?t lo?i đ?i tư?ng Visio (thư?ng Visio.Application ho?c Visio.Documents).
  3. Ch? đ?nh các phương pháp GetObject ho?c CreateObject đ?i tư?ng bi?n b?n tuyên b? trong bư?c 2.
  4. S? d?ng thu?c tính c?a đ?i tư?ng Visio, phương pháp, và tr? em các đ?i tư?ng đ? t? đ?ng hoá Visio.

Bư?c 1: Thêm m?t tham chi?u đ?n các thư vi?n ki?u Visio

Đ? thêm m?t tham chi?u đ?n các thư vi?n ki?u Visio b?ng cách s? d?ng Microsoft Các ?ng d?ng văn ph?ng như Microsoft Office XP ho?c Office 2003, làm theo các bư?c sau:
  1. Trong truy c?p, PowerPoint, Excel ho?c t?, đi?m đ?n Macro trên các Công cụ tr?nh đơn, và sau đó nh?p vào Visual Basic Editor.
  2. Trên các Công cụ tr?nh đơn, nh?p vào Tham khảo.

    Chú ý Đ? thêm các tham chi?u s? d?ng Microsoft Visual Basic 6.0, b?m Tham khảo trên các Dự án tr?nh đơn.
  3. Trong danh sách Tài li?u tham kh?o có s?n, nh?n vào đây đ? ch?n m?t trong h?p ki?m tra sau đây, tùy thu?c vào Phiên b?n Visio mà b?n đang s? d?ng:
    • Cho Visio 2007, nh?n vào đây đ? ch?n các Thư vi?n ki?u Microsoft Visio 12,0 h?p ki?m.
    • Cho Visio 2003, nh?n vào đây đ? ch?n các Thư vi?n ki?u Microsoft Visio 11,0 h?p ki?m.
    • Cho Visio 2002, nh?n vào đây đ? ch?n các Thư vi?n ki?u Microsoft Visio 2002 h?p ki?m.
Khi b?n thêm tài li?u c?a Microsoft Visio Type Library, tham kh?o c?a b?n chương tr?nh có th? truy c?p Microsoft Visio tr? giúp tr?c tuy?n và mô h?nh đ?i tư?ng Visio. B?i v? các tài li?u tham kh?o đư?c lưu trong m?i d? án, b?n có thêm Visio Lo?i thư vi?n tài li?u tham kh?o cho m?i d? án Visual Basic ho?c VBA mà b?n mu?n s? d?ng đ? t? đ?ng hoá Visio.

Bư?c 2: Khai báo bi?n đ?i tư?ng

Đ? khai báo m?t bi?n Visio đ?i tư?ng, kích thư?c m?t bi?n như là m?t lo?i Visio đ?i tư?ng h?nh c? th?, ch?ng h?n như Visio.Application, Visio.Documents, ho?c Visio.Page.

M?t cách r? ràng tuyên b? lo?i đ?i tư?ng đư?c g?i là ràng bu?c đ?u b?i v? các ?ng d?ng đi?u khi?n k?t n?i ho?c g?n bó v?i các đ?i tư?ng đ? ?ng d?ng Visio biên d?ch thay v? T?i th?i gian ch?y. Đi?u này s? cho b?n truy c?p vào danh sách t? đ?ng Visio và b?i c?nh nh?y c?m Giúp đ?, và cho phép m? đ? ch?y hi?u qu? hơn.

Đ? bi?t thêm thông tin v? đ?i tư?ng ràng bu?c, Nh?p vào s? bài vi?t sau đây đ? xem bài vi?t trong Microsoft Ki?n th?c cơ b?n:
138138Cu?i năm, ID, ràng bu?c đ?u lo?i có th? có trong VB cho các ?ng d?ng
Đ?i s? sau Visual Basic m?u tuyên b? bi?n AppVisio là m?t đ?i tư?ng c?a ki?u Visio.Application:

   Dim AppVisio as Visio.Application
				

Bư?c 3: Đ?t bi?n

B?n có th? s? d?ng phương pháp Visual Basic hai sau đây đ? kích ho?t Visio:
  • CreateObject
  • GetObject
S? khác bi?t chính là r?ng phương pháp CreateObject t?o ra m?t trư?ng h?p m?i c?a Visio, và phương pháp GetObject s? d?ng m?t ch?y r?i th? hi?n c?a Visio. B?n c?ng có th? s? d?ng GetObject đ? thi?t l?p c?a b?n bi?n đ?i tư?ng vào m?t c? th? Visio tài li?u.

Sau m?u đ?i s? b? các AppVisio bi?n đ? ?ng d?ng Visio b?ng cách s? d?ng CreateObject ch?c năng:
   Dim AppVisio as Visio.Application

   Set AppVisio = CreateObject("Visio.Application")
				
Trong m?t s? trư?ng h?p, b?n có th? mu?n s? d?ng m?t th? hi?n Visio hi?n có n?u Visio đang ch?y, nhưng t?o ra m?t trư?ng h?p m?i n?u Visio không ch?y. Đ? làm đi?u này, t?o ra m?t b? x? l? l?i đó s? d?ng phương pháp CreateObject trong s? ki?n này r?ng phương pháp GetObject không, như đư?c hi?n th? trong m?u m? này:
   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

				
Chú ý B?n c?ng có th? s? d?ng ch?c năng CreateObject đ? t?o ra m?t Visio trư?ng h?p là vô h?nh. Ví dụ:
Set AppVisio = CreateObject("Visio.InvisibleApp")
				
B?n có th? s? d?ng b?t đ?ng s?n có th? nh?n th?y c?a v?t th? ?ng d?ng đ? ki?m soát cho dù trư?ng h?p đư?c nh?n th?y.

B?n có th? s? d?ng các đ?i tư?ng InvisibleApp v?i ch? CreateObject ch?c năng. C? g?ng s? d?ng nó v?i GetObject ch?c năng s? th?t b?i. Đ?i tư?ng InvisibleApp là không có s?n trong các phiên b?n c?a Visio s?m hơn so v?i Microsoft Visio 2000.

Bư?c 4: S? d?ng các đ?i tư?ng Visio, phương pháp, và thu?c tính

Sau khi hoàn t?t các bư?c 1 đ?n 3, b?n có th? s? d?ng Visio đ?i tư?ng bi?n đ? t? đ?ng hoá Visio.

S? d?ng sau đây v? mô m?u t? đ?ng hóa đ? b?t đ?u Visio, t?o ra m?t b?n v? m?i (tài li?u) d?a trên cơ b?n Sơ đ? m?u, gi?t m?t h?nh ch? nh?t, cho bi?t thêm m?t s? văn b?n và ti?t ki?m các b?n v? và ra kh?i 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
				

THAM KH?O

Các trang web Microsoft Visio nhà phát tri?n Web

Đ? bi?t thêm chi ti?t v? làm th? nào đ? t? đ?ng hoá Visio, truy c?p vào các Microsoft Web site sau:
http://msdn2.Microsoft.com/en-US/Office/aa905478.aspx
Đ? bi?t thêm v? cách phát tri?n Microsoft Visio các gi?i pháp, ghé thăm Web site sau c?a Microsoft:
http://msdn2.Microsoft.com/en-US/Library/aa217846 (office.10) .aspx

B? d?ng c? phát tri?n ph?n m?m Visio

Đ? t?i v? Visio 2002 Software Development Kit, truy c?p vào các Microsoft Web site sau:
http://www.Microsoft.com/downloads/details.aspx?FamilyID=d2845e80-6634-4703-9ad9-7e440ede12d7&displaylang=en

Đ? t?i v? Visio 2003 Software Development Kit, h?y truy c?p Microsoft Web site sau:
http://www.Microsoft.com/downloads/details.aspx?FamilyID=557120bd-b0bb-46e7-936a-b8539898d44d&displaylang=en

Các nhóm tin

Nhóm tin ngang ngang nhau sau đây có s?n đ? giúp b?n tương tác v?i ngư?i dùng khác c?a Visual Basic cho các ?ng d?ng:
Microsoft.Public.VB.Ole.Automation
Microsoft.Public.Visio.Developer.VBA

Visual Basic tr? giúp

Đ? bi?t thêm v? cách s? d?ng các CreateObject ch?c năng, trong Visual Basic Editor, nh?n vào đây Tr? giúp Microsoft Visual Basic trên các Trợ giúp tr?nh đơn, lo?i ch?c năng CreateObject trong các Tìm kiếm h?p, và sau đó nh?p vào Tìm kiếm đ? xem các ch? đ? đư?c tr? v?.

Đ? bi?t thêm thông tin v? cách s? d?ng các GetObject ch?c năng, trong Visual Basic Editor, nh?n vào đây Tr? giúp Microsoft Visual Basic trên các Trợ giúp tr?nh đơn, lo?i ch?c năng getobject trong các Tìm kiếm h?p, và sau đó nh?p vào Tìm kiếm đ? xem các ch? đ? đư?c tr? v?.

Thu?c tính

ID c?a bài: 309603 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • 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
T? khóa: 
kbautomation kbprogramming kbvba kbhowto kbmt KB309603 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:309603

Cung cấp Phản hồi

 

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