CorelDraw'da Otomasyon (VBA) (Toplu İş Yaptırımları)
DERS ADI
:
CorelDraw'da Otomasyon (VBA) (Toplu İş Yaptırımları)
DERS KODU
:
CdrVBA-001
MARKA
:
CorelDraw VBA
Açıklama
:
CorelDraw'da Otomasyon (VBA) (Toplu İş Yaptırımları)

Genelde CorelDraw sadece; logo çizimi, fatura yapımı, orta seviyeli afiş tasarımları, import edilmiş fotoğrafları düzenleme gibi işlemlerin yapıldığı, vektörel çizim ağırlıklı ortalama bir program olarak tanımlanır. (Özellikle yazılım geliştirme ortamına uzak Mac [Illustrator, Freehand] kullanıcıları için).

Oysa ülkemizde kullanımı pek yaygın olmasa da CorelDraw, içinde gerçek bir ""canavar""ı da barındırıyor. Bu canavarın adı VBA., yani Visual Basic Application. Eğer az da olsa Visual Basic kodlarıyla ilginiz varsa, siz de CorelDraw ile çoklu iş yaptırımlarını kolaylıkla hayata geçirebilirsiniz. Hatta hiç program bilginiz olmasa bile, zaman içinde buradaki dersleri takip ederek sizler de CorelDraw altında VBA ile işinizi görebilecek kadar (toplu versiyon değiştirmeler, döküman içindeki yazıları convert etmek, RGB fotoğrafları tek tek bulup CMYK'ya çevirmek vb. işler için) bu ""canavar""ı kullanabilirsiniz.

Kendimden örnek vermem gerekirse, yaklaşık 5 yıl önce çalıştığım andaç yapan bir firmada CorelDraw VBA (v10 ve 12) sayesinde tam 44 adet andaç bitirdim (5800 öğrenci). Üstelik bunların montajlarını da CorelDraw VBA altında yazdığım montaj programı ile bitirdim. Zaman buldukça burada vereceğim CorelDraw VBA dersleriyle bu önemli açığı kapatacağımızı sanıyorum. Örnek kodlar ve GMS modülleri de zaman zaman verilecektir.

NEDEN CorelDraw'da otomasyon kullanırız? NİÇİN VBA?:

Rutin olarak yaptığımız işlerde çoğumuzun zaman kaybı olmuştur. Corel altında 500 sayfalık bir kitap yazdığınızı düşünün, bu sayfaların numaralandırılması gerektiğinde geçecek zamanı hesaplayın ya da bir dergi çalışması yapıyorsunuz, montajı yaptınız, yazıları convert etmeyi unuttunuz yada yada montajdaki fotoğraflar arasında rgb olanlar var cmyk'ya çevirmek istiyorsunuz. Normalde bunları tek tek seçerek, aratarak (Find) ile yapmanız da olasıdır. Ama yazacağınız birkaç satır kod ile tüm bu işleri birkaç sn içerisinde şipşak bitirebilirsiniz. Başka bir örnek vermek gerekirse, elinizde herhangi bir yere göndermek zorunda olduğunuz Corel dökümanlar var, sizinkisi versiyon X4'de kaydedilmiş ama karşı tarafın Corel versiyonu X3, adamcağız ölse açamaz, eh sizin de bu dökümanları tek tek açıp X3'e göre kaydetmeniz gerekiyor diyelim. bu iş için FileConverter modülünü kullanabileceğiniz gibi (o da Corel VBA) yine birkaç satır kod ile bu işin üstesinden gelebilirsiniz. Bu biraz da hani pshop kullananlar bilirler, actions'a benzer (yapılan her hareketi kaydeder, özelleştirmek sorun olabilir). Ama CorelDraw VBA'da kod bilgimizi geliştirerek yapılacak işleri tamamen özelleştirmek olasıdır.

YENİ BİR GMS MODÜL YARATMAK:

Öncelikle gms modüllerinin ne olduğundan bahsetmek istiyorum. CorelDraw VBA'da kod kümelerinin barınacağı temel dosyaların uzantısı .gms şeklinde olur. Bu satırları örneklerle açıklayalım ve ilk gms modülümüzü yaratalım. Öncelikle (özellikle xp kullanıcıları için ApplicationData klasörü altında) gms uzantılı modülümüzü yaratacağımız yer çok önemlidir. örnek bir yol yazmak gerekirse, gideceğiniz klasör yolu şu şekilde olmalıdır. (makinem xp servicepack2, CorelDraw sürümüm ise X4);

C:\Documents and Settings\olympia\Application Data\Corel\CorelDRAW Graphics Suite X4\User Draw\GMS

http://www.tuncolcay.com/ders/vba/corelVBA_gmsyol.jpg

http://www.tuncolcay.com/ders/vba/corelVBA_gmsyol2.jpg

Eveeet, yeni gms modülümüz artık hazır durumda. şimdi Corel programınız açıksa kapatıp yeniden açın ve kontrol etmek için VBA'ya gidin.
(Kısayolu: Alt+F11)

http://www.tuncolcay.com/ders/vba/corelVBA_editor1.jpg

GMS MODÜLÜMÜZÜN ADINI DEĞİŞTİRMEK:

Editor açıldığında sol tarafta gms modülünüzün adı ""GlobalMacros (ilk.gms)"" şeklinde görülecektir. (Bknz altta, sağdaki fotoğraf yandaki artıya [GlobalMacros(ilk.gms) solundaki] basıldıktan sonrasının görüntüsüdür.)

http://www.tuncolcay.com/ders/vba/corelVBA_editor2.jpg

Gelin şimdi diğer hazırda varolan ""GlobalMacros"" modülü ile karışmasını önlemek için modülümüzün adını da değiştirelim.Sol alttaki (Name) kutucuğunun yanındaki ""GlobalMacros"" yerine ""ilk"" diye modülümüze tekrar ad verdik. Görüntü şu hale geldi. (Bknz altta)

http://www.tuncolcay.com/ders/vba/corelVBA_editor3.jpg

GMS MODÜLÜMÜZ İÇİNE KOD YERLEŞTİRMEK:

Bu olay 2 türlü yapılabilir;
1- CorelDraw'da Record'u aktif edip yaptığımız hareketleri kod olarak kayıt haline getirmek.
2- Visual Basic bilgimiz + Corel Objectlerini tanımamız dahilinde kodları yazmak.

Öncelikle en basitinden başlayarak kodları bırakalım CorelDraw kendisi yazsın. Bunu yapmak için, Tools menüsü altındaki Macros'a gitmek ve şekilde göreceğiniz üzere ""Start Recording"" komutuna tıklamaktır.

http://www.tuncolcay.com/ders/vba/corelVBA_editor4.jpg

Daha sonra alttaki fotoğrafda göreceğiniz üzere küçük bir pencere belirecektir. Bu pencere bize kaydın hangi gms modül içine yapılacağını soruyor. Çıkan pencerede ""ilk"" ikonunun üstüne iki kere tıkladığımızda kayıt artık ilk.gms modülünün içine yazılmış olacaktır. (Önemli Not: CorelX4 öncesindeki sürümlerde ikon penceresi yerine combobox/açılır kutu) geliyor. Ona tıklayıp gms modülünüzü seçmelisiniz)

http://www.tuncolcay.com/ders/vba/corelVBA_macro.jpg

Bu komut verildikten sonra şimdiiiiii dikkat. Corel VBA yapacağımız hareketleri kaydetmeye başlayacak. Ben örnek olarak bir dikdörtgen oluşturdum. İçini Kodak sarısı, dış çerçevesini de kırmızı (*güzel renkler : ))) 2,5mm yaptım, daha sonra hafifçe sola döndürdüm (12,4 derece), yaklaşık 2 boy aşağıya taşıdım. Corel VBA hepsini kaydetti. Kodları aşağıya yazıyorum. Açıklamalarını da karşılarına vereceğim. Burada önemli bir not vermek istiyorum. Tüm hareketleri kaydediyor derken bir obje var ki (text/yazı) nedeni bilinmez bir şekilde Macro kaydına girmiyor. Yeşil yazılmış kodlar bunun olası olmadığını belirtiyor. (Bknz: Alttaki Fotoğraf)

http://www.tuncolcay.com/ders/vba/corelVBA_kod1.jpg
Yazı (Artistic Text yada Paragraph Text) yaratmak için kodlardan yararlanacağız. Evet dönelim tekrar işimize. Nesne yaratma işlemleri bittikten sonra artık kaydı kapatıyoruz.

http://www.tuncolcay.com/ders/vba/corelVBA_sekil1x.jpg

Tüm bu işlemler bittikten sonra VBA Editor'e döndüğümüzde şöyle bir görüntü ile karşılaşıyoruz. (Bknz: Alttaki Fotoğraf)

http://www.tuncolcay.com/ders/vba/corelVBA_sekil2.jpgYukarıda göreceğiniz üzere renkli oklar ile kaydedilmiş bazı kodların açıklamalarını yaptım. İlerideki derslerde bazı örnek gms dosyalarını da örnek olarak vereceğim. Bunları çalışmalarınızda rahatça kullanıp üzerinde rahatça değişiklikler yaparak kod yazma yetinizi geliştirebilirsiniz.

Şimdi Gelelim 2. Yönteme;

Bu bölüm Visual Basic kodlarından anlayanlar için iyi bir örnek oluşturabilir. Modülleri yazmayı bildiğinizi hesaba katarak bir Artistic Text yaratma kodu oluşturuyorum.

 

Sub gozgoz()
    Dim s1 As Shape
    Set s1 = ActiveLayer.CreateArtisticText(50, 50, ""Göz Göz GÖZTEPE!!!"", cdrTurkish, cdrCharSetTurkish, ArialTur, 120, cdrTrue, cdrTrue, cdrNoFontLine, cdrCenterAlignment)
    s1.Fill.ApplyNoFill
    s1.Outline.SetProperties 0.007874, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=5#
    s1.Fill.UniformColor.CMYKAssign 0, 0, 100, 0
    s1.Outline.SetProperties Color:=CreateCMYKColor(0, 100, 100, 0)
    s1.Outline.SetProperties 0.059055
End Sub



Görüntü şu şekilde oluşacaktır. (kodu pencereye yazdıktan sonra F5 tuşu ile çalıştırmayı unutmayın!;)

http://www.tuncolcay.com/ders/vba/corelVBA_gozgozz.jpg

 


Notlar:

İndirmek için Tıklayınız.

 

Flag Counter