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. 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;
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...
- Video= 415 kb rar sıkıştırılmış avi dosya (dikkat bilgisayarınızda 44.4 mb yer kaplayacaktır!)
video (visual_basic_disardan_makro_calistirma.rar adlı dosya)
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...
Dim lights Embed Embed this video on your site
Notlar:- Video= 415 kb rar sıkıştırılmış avi dosya (dikkat bilgisayarınızda 44.4 mb yer kaplayacaktır!)
video (visual_basic_disardan_makro_calistirma.rar adlı dosya)
Yeni yorum ekle


