Dışardan VBA makroyu çalıştırmak. (CorelDraw, Word, Excell vs.)

VBA modüllerine ulaşmak için ya VBA editör içinden başla komutu, yada menüler arasında geçişler yaparak komutlar veririz.

VBA modüllerine ulaşmak için ya VBA editör içinden başla komutu, yada menüler arasında geçişler yaparak komutlar veririz. Bu biraz da işin fantastik kısmı da olsa Visual Basic yardımıyla dışardan bir exe ile ilgili program ve içindeki VBA modülü çalıştırmak hoş yada pratik olabilir. Bu dersteki örneğimiz CorelDraw içindeki FileConverter modülü üzerine olacak. (CorelDraw dersleri altında VBA derslerimize bir ek olarak düşünülebilir.) Öncelikle bir form üzerine bir command buton yerleştiriyoruz. Üzerine "FileConvertar Başlat" gibisinden bir yazı da yazabiliriz. Butonumuza çift tıklayıp gelen kod penceresine şu kodları yazalım; Dim Converter As String 'Converter için bir string atıyoruz. Dim cDraw As Object'CorelDraw için bir string atıyoruz. Dim gms As CorelDRAW.GMSManager'CorelDraw GMS'nin tanımını yapıyoruz. If CorelDRAW.Visible = True Then 'Eğer Corel halihazırda açık ise... Set cDraw = CreateDocument'yeni bir boş döküman yarat... CorelDRAW.InitializeVBA'VBA bölümünü çalıştır... CorelDRAW.Visible = True'CorelDraw aktif... Set gms = CorelDRAW.GMSManager'GMS'nin CorelDraw gmssi ve aktifliğini ayarlıyoruz. GMSManager.RunMacro "FileConverter", "Converter.start"'FileConverter denen makro içinde "Converter" modülüne "başla" diyoruz... Else 'aksi takdirde (yada corel halen açık değilse) Set cDraw = CreateObject("CorelDraw.Application")'CorelDraw programını başlat... cDraw.CreateDocument'yeni bir boş döküman yarat... cDraw.InitializeVBA'VBA bölümünü çalıştır... cDraw.Visible = True'CorelDraw aktif... Set gms = CorelDRAW.GMSManager'GMS'nin CorelDraw gmssi ve aktifliğini ayarlıyoruz. GMSManager.RunMacro "FileConverter", "Converter.start"'FileConverter denen makro içinde "Converter" modülüne "başla" diyoruz... End If'eğer koşulunun sonu Şimdi aşağıdaki görüntüyü de CorelDraw VBA Editör içinden aldım. Sarı ile boyadığım yerlere dikkatinizi çekerim. Üstteki kodları (start, converter vs) neye göre yazdığımı biraz daha iyi anlayabilirsiniz. Kodların normal yazılmış görünümü şöyle olmalıdır;


Dim cDraw As Object Dim gms As CorelDRAW.GMSManager If CorelDRAW.Visible = True Then Set cDraw = CreateDocument CorelDRAW.InitializeVBA CorelDRAW.Visible = True Set gms = CorelDRAW.GMSManager GMSManager.RunMacro "FileConverter", "Converter.start" Else Set cDraw = CreateObject("CorelDraw.Application") cDraw.CreateDocument cDraw.InitializeVBA cDraw.Visible = True Set gms = CorelDRAW.GMSManager GMSManager.RunMacro "FileConverter", "Converter.start" End If
Project menüsüne tıklayalım; şimdi References bölümüne gidip; ordan CorelDraw Type Library ekleyelim. (harf indexinde c'yi takip edin aşağıda [makinenizde CorelDraw kurulu olması gerekiyor] CorelDraw ile başlayan tipleri göreceksiniz. Bu ders için Corel 14'ü seçtim. Yandaki check kutularını doldurduktan sonra isterseniz References'den bir kez daha kontrol edebilirsiniz. Evet, projemizi çalıştıralım. (F5) tuşuna da basabilirsiniz. Exe program çalıştı ve form karşımızda, düğmeye basalım; İşte CorelDraw X4 açıldı ve hemen ardından FileConverter Makrosu da etkin hale geldi. Ekte vermiş olduğum VB projesini biraz daha inceler ve eklemeler yaparsanız, elinizin altında makroları seri olarak başlatabilmek için bir küçük programcık olabilir. İyi çalışmalar, başarılar...

Tunç Olçay
1970 İzmir doğumlu yazar, 10 yıla yakın profesyonel müzisyenlik hayatına nokta koyup pc grafik hayatına biraz geç de olsa 1998 yılında başladı. <p>İlk dalı Macintosh üzerinde; plotter kesim Illustrator ve Freehand olmasına karşın bu işletim sistemi ve programlara ısınamadığını CorelDraw ve pc ile tanıştıktan sonra anladı. 1-2 yıl arası dizgicilik deneyimlerinden sonra kendi deyimiyle grafik üzerine dönüm noktası olan reprodüksiyon (renk ayrım/film çıkış) firmasında 2 yıla yakın çalışması sonucunda grafik ve dizgi üzerine adı geçen tüm programları hakim şekilde kullanmayı, renk ayrımını, montajı vb baskı öncesi tüm bilgileri burada öğrendi. <p>En büyük hobisi öğrenmek sayesinde programcılığa da merak saldı. Visual Basic ile bu dönemde tanıştı ve işine yarayabilecek küçük çaplı programlar yazmaya başladı. Çeşitli firmalarda Grafik Bölüm Şefliği deneyimlerini yaşadıktan kısa bir süre sonra çalışmaya başladığı andaç üretimi yapan bir firmada Visual Basic altyapısı yardımıyla VBA'nın (Visual Basic Application) gücünün farkına varan yazar; Word, Excel ve CorelDraw altında otomasyon denemelerine başladı. Bu süreç içerisinde, otomatik sayfa yaptırımı, baskı öncesi hazırlık makroları üzerinde önemli kodlar geliştirdi. Buna bağlı olarak CorelDraw altında bir montaj programını da hayata geçirmiş oldu. <p>Daha sonra gelişmekte olan Web sektörüne geçiş yapıp 3 ortaklı bir firmaya dahil oldu ve; Asp, Flash, Dreamweaver, Action Script, Css, Html ve küçük çaplı 3d tasarımları üzerinde kendisini geliştirdi. <p>İyi derecede İngilizce ve orta derece İspanyolca bilen yazarımız özel dershanelerde 10 yılı aşkın süredir Web Tasarım ve Grafik üzerine öğretim üyeliği mesleğini de sürdürmektedir.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git