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. 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.

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);


Cocuments and SettingsolympiaApplication DataCorelCorelDRAW Graphics Suite X4User DrawGMS







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)



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.)



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)



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.



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)



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)



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.



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)



Yukarı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!;)



Notlar:
- Ders fotoğraflarının orjinal hali için buraya tıklayınız.

- Snapshotları içeren coreldraw dosyası (v12) için buraya tıklayınız.

- CorelDdraw 12 versiyonunda GMS ve makro oluşturma videosu (wmv formatında) için buraya tıklayınız.
  • Etiketler;
Yorum Yaz

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

ör: daha sık kullanacağımız anlaşılır biçimde olsa idi iyi olurdu bu şekilde amacını tam olarak anlamak zor olmuş bence tabi yinede teşekkürler :kirp:
işin aslı doğru söylediğinizi kabul ediyorum, ilk başta çok uzak ve karmaşık gelebiliyor, zaten gelecek derslerde en kolayından başlayarak örnek dersler de sunacağım. hatta 6. derste (CorelDraw VBA'da Form) bu olaya girdik bile. yorumunuz için teşekkürler.
1-gms yolunuz bu örnekteki gibi olmalı; C:Documents and Settings(kullanıcı adınız)örn:benimpcApplication DataCorelGraphics12User DrawGMS 2- txt dosyasının uzantısı ".gms" olarak verildi mi? (makinenizde uzantıların gösteriminin açık olması gerekiyor.)
anlamadım :sasir:
anlamadım :sasir:
Arkadaşlar öncelikle herkesten derslerime verdiğim uzun aradan ve sorularınıza verdiğim gecikmeli yanıtlardan dolayı özür diliyorum. Güney Amerika'dayım ve yoğun bir çalışma programı içersindeyim. VBA ile ilgili olarak bana çok mail vs geliyor. lütfen grafikte kullanılan CorelDraw ile CorelDraw VBA'yı birbirinden ayırt edelim. VBA; ileri düzey CorelDraw + Visual Basic bilgisi belirli düzeyde olan yada burdaki dersleri tam layığıyla adım adım takip etmiş (1. dersten itibaren) arkadaşlar için, CorelDraw ile tam pratik işler yapmak amaçlı, CorelDraw altında çalışan bir Visual Basic Aplikasyonudur. (Word, Excel vs ile de kullanabilirsiniz.) Yineliyorum, bu konuda kendinizi geliştirmek istiyorsanız, başta buradaki dersler olmak üzere (daha açık Türkçe ders şuan için yok! İngilizcesi iyi derecede olanlar için kaynak yeteri kadar var.) adım adım ve sabırlı bir şekilde ilerlemeniz gerekiyor. Yeni CorelDraw kullanıcılarına önerim şu olacak ki, mutlaka ve mutlaka 2-3 ay süren kurslara kayıt olmaları. (MEB sertifikalıları yeğleyin). Daha sonra burdaki Corel dersleri ile pekiştirebilirsiniz. Herkese saygılarımla.
hocam emeğinize sağlık şimdide VBA ya merak sardım :)

Yukarı Git