วิธีการใช้การดำเนินการอัตโนมัติ OLE ใน Visio

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 309603 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

บทความนี้ประกอบด้วยข้อมูลเกี่ยวกับวิธีใช้ Microsoft Visual Basic หรือ Microsoft Visual Basic สำหรับโปรแกรมประยุกต์ (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 คลิกอ้างอิง:ในการProjectเมนู
  3. ในรายการการอ้างอิงที่มีอยู่คลิกเพื่อเลือกอย่างใดอย่างหนึ่งต่อไปนี้กล่องกาเครื่องหมาย ขึ้นอยู่กับรุ่นของ Visio ที่คุณกำลังใช้:
    • สำหรับ Visio 2007 คลิกเพื่อเลือกนั้นไลบรารีชนิดของ Microsoft Visio 12.0กล่องกาเครื่องหมาย
    • สำหรับ Visio 2003 คลิกเพื่อเลือกนั้นไลบรารีชนิดของ Microsoft Visio 11.0กล่องกาเครื่องหมาย
    • สำหรับ Visio 2002 คลิกเพื่อเลือกนั้นMicrosoft Visio 2002 ชนิดไลบรารีกล่องกาเครื่องหมาย
เมื่อคุณเพิ่มการอ้างอิงไลบรารีชนิดของ Microsoft Visio โปรแกรมของคุณสามารถเข้าถึงวิธี Microsoft Visio ใช้แบบออนไลน์และรูปแบบวัตถุ Visio เนื่องจากการอ้างอิงบันทึกไว้ในแต่ละโครงการ คุณจำเป็นต้องเพิ่มการอ้างอิงไลบรารีชนิดของ Visio สำหรับแต่ละ Visual Basic หรือ VBA โครงการที่คุณต้องการใช้เพื่อทำให้ Visio

ขั้นตอนที่ 2: ประกาศตัวแปรวัตถุ

การกำหนดขนาดตัวแปร วัตถุ Visio ตัวแปรเป็น Visio วัตถุชนิด เช่น Visio.Application, Visio.Documents หรือ Visio.Page

ต่างหาก declaring ชนิดของวัตถุถูกเรียกรวมก่อนหน้าเนื่องจากการเชื่อมต่อโปรแกรมประยุกต์ของตัวควบคุม หรือbindsวัตถุไปยังโปรแกรมประยุกต์ Visio ใน ขณะคอมไพล์มากกว่า ใน เวลารัน ซึ่งช่วยให้คุณเข้ากับรายการอัตโนมัติ Visio และวิธีใช้บริบทสำคัญ และทำให้รหัสการทำงานอย่างมีประสิทธิภาพมากขึ้น

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรวมวัตถุ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
138138ล่าช้า รหัส การผูกก่อนหน้าชนิดสุดใน VB สำหรับ Apps
ตัวแปร declares Visual Basic อาร์กิวเมนต์ของตัวอย่างต่อไปนี้AppVisioเป็นวัตถุชนิด Visio.Application:

   Dim AppVisio as Visio.Application
				

ขั้นตอนที่ 3: การตั้งค่าตัวแปร

คุณสามารถใช้วิธีการต่อไปนี้ของ Visual Basic สองเพื่อเปิดใช้งาน Visio:
  • CreateObject
  • GetObject
ความแตกต่างหลักคือ วิธี CreateObject สร้างอินสแตนท์ใหม่ของ Visio และวิธีการ GetObject ใช้อินสแตนซ์กำลังทำงานอยู่แล้วของ Visio คุณยังสามารถใช้ GetObject เพื่อตั้งค่าตัวแปรวัตถุของคุณไปยังเอกสาร Visio เฉพาะ

ต่อไปนี้ตัวอย่างการตั้งค่าอาร์กิวเมนต์AppVisioตัวแปรไปยังโปรแกรมประยุกต์ Visio CreateObject ในการใช้ฟังก์ชัน:
   Dim AppVisio as Visio.Application

   Set AppVisio = CreateObject("Visio.Application")
				
ในบางกรณี คุณอาจต้องใช้อินสแตนซ์ Visio ที่มีอยู่ถ้าคุณกำลังทำงานอยู่ Visio แต่สร้างอินสแตนซ์ใหม่ถ้าไม่มีการเรียกใช้ Visio เมื่อต้องการทำเช่นนี้ สร้างการจัดการข้อผิดพลาดที่ใช้วิธี CreateObject เหตุการณ์ที่ล้มเหลววิธี GetObject ดังที่แสดงในตัวอย่างรหัส ต่อไปนี้:
   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

				
หมายเหตุ:คุณยังสามารถใช้ฟังก์ชัน CreateObject Visio ในการสร้างอินสแตนซ์ที่ invisible ได้ ตัวอย่าง::
Set AppVisio = CreateObject("Visio.InvisibleApp")
				
คุณสามารถใช้คุณสมบัติมองเห็นได้ของวัตถุโปรแกรมประยุกต์เพื่อควบคุมว่าอินสแตนซ์ที่มองเห็น

คุณสามารถใช้วัตถุ InvisibleApp มีเฉพาะฟังก์ชัน CreateObject กำลังพยายามใช้กับ GetObject ฟังก์ชันจะล้มเหลว วัตถุ InvisibleApp ไม่พร้อมใช้งานใน Visio รุ่นก่อนหน้า Microsoft Visio 2000

ขั้นตอนที่ 4: ใช้ Visio วัตถุ วิธีการ และคุณสมบัติ

หลังจากที่คุณได้ดำเนินการขั้นตอนที่ 1 ถึง 3 คุณสามารถใช้ Visio ตัวแปรวัตถุเพื่อทำให้ Visio ได้

แมโครตัวอย่างต่อไปนี้ใช้การดำเนินการอัตโนมัติจะเริ่มการทำงาน Visio สร้างรูปใหม่วาด (เอกสาร) ตามแม่แบบไดอะแกรมพื้นฐาน วางสี่เหลี่ยม เพิ่มข้อความ และจะบันทึกการวาดรูปแบบ และจบการทำงาน 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
				

ข้อมูลอ้างอิง

ไซต์เว็บสำหรับนักพัฒนา Visio ของ Microsoft

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำให้ Visio แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn2.microsoft.com/en-us/office/aa905478.aspx
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการพัฒนา Microsoft Visio วิธีแก้ไขปัญหาแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
.aspx http://msdn2.microsoft.com/en-us/library/aa217846 (office.10)

Kits พัฒนาซอฟต์แวร์ visio

เมื่อต้องการดาวน์โหลด Kit การพัฒนาของซอฟต์แวร์ 2002 Visio แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://www.microsoft.com/downloads/details.aspx?familyid=d2845e80-6634-4703-9ad9-7e440ede12d7&displaylang=en

เมื่อต้องการดาวน์โหลด Kit การพัฒนาของซอฟต์แวร์ 2003 Visio แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://www.microsoft.com/downloads/details.aspx?familyid=557120bd-b0bb-46e7-936a-b8539898d44d&displaylang=en

กลุ่มข่าวสาร

กลุ่มข่าวสารเพียร์ระหว่างต่อไปนี้จะพร้อมใช้งานเพื่อช่วยคุณในการโต้ตอบกับผู้ใช้อื่นของ Visual Basic สำหรับโปรแกรมประยุกต์:
microsoft.public.vb.ole.automation
microsoft.public.visio.developer.vba

วิธีใช้ visual Basic

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้นี้CreateObjectคลิกฟังก์ชัน ในใน Visual Basic Editorวิธีใช้ Microsoft Visual Basicในการวิธีใช้เมนู ชนิดฟังก์ชัน createobjectในการค้นหากล่อง แล้วคลิกค้นหาเมื่อต้องการดูหัวข้อที่มีการส่งคืน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้นี้GetObjectคลิกฟังก์ชัน ในใน Visual Basic Editorวิธีใช้ Microsoft Visual Basicในการวิธีใช้เมนู ชนิดฟังก์ชัน getobjectในการค้นหากล่อง แล้วคลิกค้นหาเมื่อต้องการดูหัวข้อที่มีการส่งคืน

คุณสมบัติ

หมายเลขบทความ (Article ID): 309603 - รีวิวครั้งสุดท้าย: 19 ตุลาคม 2553 - Revision: 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
Keywords: 
kbautomation kbprogramming kbvba kbhowto kbmt KB309603 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ 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