Visio'da OLE otomasyonunu nasıl kullanılır

Makale çevirileri Makale çevirileri
Makale numarası: 309603 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Giriş

Bu makalede, başka bir Microsoft Office programını Microsoft Office Visio2from otomatikleştirmek için Microsoft Visual Basic veya Microsoft Visual Basic for Applications (VBA)'nı kullanma hakkında bilgi içerir.

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.

Otomasyon'e genel bakış

Visual Basic'te (OLE otomasyonunu olarak da bilinir) Otomasyonu, başka bir programdan denetleme işlemidir program veya dış bir geliştirme aracıdır. Bir Visual Basic nesne modeline içeren herhangi bir programı otomatikleştirebilirsiniz. Nesne modeli, programın kullanılabilir olan nesneleri veya Visual Basic kullandığı hiyerarşik bir toplamıdır.

Örneğin, Microsoft Visio için nesne modelini gibi nesneleri içerir:
  • Uygulama genel nesnesi
  • Belge nesnesi
  • Sayfa nesnesi
  • Ana nesne
  • Seçim nesnesi
  • Şekil nesnesi
  • Pencere bir nesne
Bu nesnelerin her biri, yöntem ve özelliklerini Visual Basic'te bir bunlarla çalışmak için gerekli olan benzersiz bir kümesi vardır. Örneğin, bir şekil nesnesi, imleci kullanarak seçebileceğiniz bir Visio çizim sayfasındaki herhangi bir nesneyi temsil edebilir. Bu nedenle, bir şekil nesnesi olabilir şeklinde, bir grup, kılavuz, bir denetim veya bağlı olduğu başka bir programdan bir nesne, katıştırılmış veya bir Visio çizimine alındı.

Başlarken

Bu makaledeki kod örnekleri, Visio, Microsoft Office 2007 Microsoft Office 2003, Microsoft Office 2002, Microsoft Visual Basic 6.0, veya bir Visual Basic geliştirme aracı içeren herhangi bir programı nasıl gösterilmektedir. Visio otomatikleştirmek için <a0></a0>, dört ana adımları izleyin:
  1. <a0>Visio</a0> türündeki kitaplığa bir başvuru ekleyin.
  2. Bir değişken olarak bir Visio nesne türü (genellikle Visio.Application veya Visio.Documents).
  3. Adım 2'olarak bildirilen bir nesne değişkeni GetObject veya CreateObject yöntemi atayın.
  4. Visio nesnenin özellikler, yöntemler ve bağımlı nesnelere Visio otomatik hale getirmek için kullanın.

1. Adım: <a0>Visio</a0> türündeki kitaplığa bir başvuru Ekle

Microsoft Office XP veya Office 2003 gibi Microsoft Office uygulamaları kullanarak <a0>Visio</a0> türündeki kitaplığa bir başvuru eklemek için aşağıdaki adımları izleyin:
  1. Access, PowerPoint, Excel veya Word, Araçlar menüsünden makrolar için ve Visual Basic Düzenleyicisi</a1>'ı tıklatın.
  2. Araçlar menüsünde, Başvurular ' ı tıklatın.

    Not Microsoft Visual Basic 6. 0'ı kullanarak bir başvuru eklemek için <a0></a0>, Proje menüsünde Başvurular ' ı tıklatın.
  3. Kullanılabilir başvurular listesinde kullandığınız Visio sürümüne bağlı olarak aşağıdaki onay kutularından birini seçmek için tıklatın:
    • Visio 2007 için <a0>Microsoft Visio 12.0 tür kitaplığı</a0> onay kutusunu seçmek için tıklatın.
    • Visio 2003 için <a0>Microsoft Visio 11.0 tür kitaplığı</a0> onay kutusunu seçmek için tıklatın.
    • Visio 2002 için <a0>Microsoft Visio 2002 için tür kitaplığı</a0> onay kutusunu seçmek için tıklatın.
Microsoft Visio tür kitaplığına başvuru eklediğinizde, programınızı, Microsoft Visio çevrimiçi Yardım'ı ve Visio nesne modeline erişebilirsiniz. Başvuruları her projede kaydedilmiş olduğundan, Visio otomatikleştirmek için kullanmak istediğiniz her Visual Basic'de veya VBA'DA proje Visio tür kitaplığı başvurusunu eklemeniz gerekir.

2. Adım: nesne değişkeni Kernel32.dll'de...

Visio nesne değişkeni, boyut, Visio.Application, Visio.Documents veya Visio.Page gibi belirli bir Visio nesne türü olarak bir değişkeni bildirmek için <a0></a0>.

Açıkça denetleyicisi uygulama bağlanır nesne türü erken bağlama adlandırılır, çünkü bildirmek veya bağlar çalışma zamanında yerine derleme zamanında Visio uygulama nesnesi. Visio otomatik listeleri ve içerik duyarlı Yardım için erişmenizi ve kod daha verimli bir şekilde çalışmasına izin verir.

Nesne bağlama hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
138138Geç, türleri mümkün VB uygulamaları için erken bağlama KIMLIĞI
Aşağıdaki örnek Visual Basic bağımsız değişkeni AppVisio Visio.Application türünde bir nesne olarak bildirir:

   Dim AppVisio as Visio.Application
				

3. Adım: değişken ayarla

Visio etkinleştirmek için aşağıdaki iki Visual Basic yöntemleri kullanabilirsiniz:
  • CreateObject
  • GetObject
Birincil CreateObject yöntemini Visio yeni bir örneğini oluşturur ve zaten çalışan örneği Visio GetObject yöntemi kullanan farktır. Belirli bir Visio belge, bir nesne değişkeni ayarlamak için GetObject'ni de kullanabilirsiniz.

Aşağıdaki örnek bağımsız AppVisio değişken CreateObject kullanarak Visio uygulamaya ayarlar işlevi:
   Dim AppVisio as Visio.Application

   Set AppVisio = CreateObject("Visio.Application")
				
bazı durumlarda, Visio zaten çalıştıran, ancak Visio çalışır durumda değilse, yeni bir örneğini oluşturmak, varolan bir Visio örneği kullanmak isteyebilirsiniz. Bunu yapmak için <a0></a0>, GetObject yöntemi başarısız olay nedeniyle, bu örnek kodda gösterildiği gibi CreateObject yöntemini kullanan bir hata işleyicisi oluşturun:
   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

				
örnek bir Visio oluşturmak için CreateObject işlevini de kullanabilirsiniz Not diğer bir deyişle görünmez. Örneğin:
Set AppVisio = CreateObject("Visio.InvisibleApp")
				
sonra örneği görünür olup olmadığını denetlemek için uygulama nesnesinin Visible özelliğini kullanabilirsiniz.

CreateObject işleviyle, InvisibleApp nesnesini kullanabilirsiniz. Işlev başarısız olur GetObject ile kullanmaya çalışır. Visio Microsoft Visio 2000'den önceki sürümlerinde InvisibleApp nesne kullanılamıyor.

4. Adım: Visio nesneleri, yöntemleri ve özellikleri kullanın...

1-3 Arasındaki adımları tamamladıktan sonra Visio kullanabileceğiniz Visio otomatikleştirmek için bir nesne değişkeni.

Aşağıdaki makro örneği Otomasyon kullanan Visio başlatmak için temel Diyagramı şablonu temel alan yeni çizim (belge) oluşturmak için bir dikdörtgen düşünceye, bazı metin ekler ve çizim kaydeder ve Visio sonlandırılıyor.
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
				

Referanslar

Microsoft Visio Developer Web siteleri

Visio otomatikleştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/office/aa905478.aspx
Microsoft Visio'nun geliştirme hakkında daha fazla bilgi için çözüm için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa217846(office.10).aspx

Visio Software Development Kits (ingilizce)

Visio 2002 Software Development Kit'e karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/downloads/details.aspx?familyid=d2845e80-6634-4703-9ad9-7e440ede12d7&displaylang=en

Visio 2003 Software Development Kit'e karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/downloads/details.aspx?familyid=557120bd-b0bb-46e7-936a-b8539898d44d&displaylang=en

Haber grupları

Eşler arası haber aşağıdaki uygulamalar için Visual Basic kullanıcılarıyla etkileşimde kullanılabilir:
Microsoft.public.vb.OLE.Automation
Microsoft.public.Visio.Developer.VBA

Visual Basic Yardımı

Visual Basic Düzenleyicisi'nde, CreateObject işlevini kullanma hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, createobject işlevi, Arama kutusuna yazın ve sonra döndürülen konuları görüntülemek için Ara ' yı tıklatın.

Visual Basic Düzenleyicisi'nde GetObject işlevi kullanma hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, getobject işlevi, Arama kutusuna yazın ve sonra döndürülen konuları görüntülemek için Ara ' yı tıklatın.

Özellikler

Makale numarası: 309603 - Last Review: 11 Nisan 2007 Çarşamba - Gözden geçirme: 4.1
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbautomation kbprogramming kbvba kbhowto KB309603 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:309603

Geri Bildirim Ver

 

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