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. back to the top
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ı.back to the top
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:
back to the top
- <a0>Visio</a0> türündeki kitaplığa bir başvuru ekleyin.
- Bir değişken olarak bir Visio nesne türü (genellikle Visio.Application veya Visio.Documents).
- Adım 2'olarak bildirilen bir nesne değişkeni GetObject veya CreateObject yöntemi atayın.
- 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:
- Access, PowerPoint, Excel veya Word, Araçlar menüsünden makrolar için ve Visual Basic Düzenleyicisi</a1>'ı tıklatın.
- 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.
- 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.back to the top
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:
138138
Geç, 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:
back to the top
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:
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.back to the top
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.
back to the top
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 = NothingEnd Sub
Microsoft Visio Developer Web siteleri
Visio otomatikleştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Microsoft Visio'nun geliştirme hakkında daha fazla bilgi için çözüm için aşağıdaki Microsoft Web sitesini ziyaret edin:
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:
Visio 2003 Software Development Kit'e karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
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.back to the top
vb vba vbe OLE Otomasyon makro GetObject CreateObject örnek vso2002 vso2003 vso2007 örnek