İlk VBA dersimizin başlangıç paragrafında örnek verirken "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" gibi bir tanım kullanmıştım. (Yüzlerce dökümanı aynı anda eski versiyon şeklinde kaydetmek zorunda olduğunuzu bir düşünün...) Bu derste öğreneceğimiz kolaylık kısaca; açık olan birçok dökümana tek tek menüden gidip "Save as" komutu verip, ordan versiyon belirleyip kaydetmek yerine tek bir tıklama ile bir veya birçok olsun açık durumda olan dökümanı istediğimiz alt versiyona çevirmek. Bu makro bir çoğunuzun işini büyük oranda kolaylaştıracaktır.
Dersimize başlayalım. Önceki derslerde VBA Editör içinde nasıl yeni bir GMS, yeni bir form oluşturabileceğimizi ve bu forma; combobox, buton, textbox vb nesneleri hangi şekilde yerleştirebileceğimizi öğrenmiştik. Yeni bir GMS uzantılı dökümanımızı belirtilen yerde oluşturup, (Ben Örnek olarak "zaveaz.gms" yaptım. )
CorelDraw (bundan sonraki derslerde
CD olarak anılacaktır) ve hemen ardından
VBA Editör'ü çalıştıralım. (bundan sonraki derslerde
VBE olarak anılacaktır.) Global adındaki benzerlik, dolayısıyla bir karışıklık olmasını önlemek adına GMS modülümüzün adını değiştirelim.
Bunu da "
farklikaydet" yaptım. Önemli değil siz ne isterseniz o adı verin. Ama derslerde beraber ilerleyebilmemiz adına aynı adları kullanmaya çalışırsanız daha iyi olur.
Şimdi bu derste şunu öneriyorum, form üzerine girdiler yapıp, buton ile tetikleme yoluyla komutları işletiyorduk, bu derste sadece modül olarak yazalım, bir sonraki derste yazdığımız macroları menülere ekleme konusunu göstereyim, malum macro sayımız fazlalaşacağı için artık bu komutları üstteki CD menülerine aktarmanın da sırası gelmiştir diye düşünüyorum. (bknz: alttaki foto örneği, benim corel programıma eklediğim menü... bir sonraki derste onu da göreceğiz.)
Evet, farklikaydet.zaveaz içine bir modül ekleyelim. (Project penceresinde gms mizin aktif olduğundan emin olalım, pencere sol üst köşede "
Project - farklikaydet" diye yazıyor olması gerek.)
Alışkanlık edinmemiz açısından modülün de adını değiştirelim. Ben
saveet diye bir ad verdim.
Şimdi Project penceresinde
farklikaydet(zaveaz.gms) altındaki,
Modules'in yanındaki oka tıklıyoruz artı iken eksi oluyor ve altında
saveet diye modülümüz görünüyor, onun da üstüne çift tıklayalım ve kod penceresi gelsin.
Kodları açıklamaları ile birlikte yazmaya başlayalım;
Sub saveazz() 'Kodlar Sub ile başlar (çoğu durumda) ve bir ad vermek gerekir.
Dim d As Document 'Dökümanımızın tanımını yapalım.
Dim opt As New StructSaveAsOptions 'Kaydetme seçenekleri burada sıralanıyor.
'şimdi aşağıda "dirty" ile dökümanın kaydedilebilecek durumda olup/olmadığını
'kontrol ediyoruz.
If ActiveDocument.Dirty Then ActiveDocument.Save 'Döküman üzerinde değişiklik varsa kaydolsun
opt.EmbedICCProfile = False ' ICCprofili göm? = hayır
opt.EmbedVBAProject = False ' VBA kodu/projesi varsa dökümanla beraber kaydet? = hayır
opt.Filter = cdrCDR 'tipi? = tabiiki CDR
opt.IncludeCMXData = False'cmxbilgiyi ekle?=hayır
opt.Overwrite = True 'üstüne yazalım mı?= evet (yoksa saveas için dialog kutusu açar,
'işin tadı da kaçar)
opt.Range = cdrAllPages 'corel içindeki dökümanda birden fazla sayfa varsa hata msjını
'önlemek için bu komutu ekliyoruz.
opt.ThumbnailSize = cdr10KColorThumbnail ' thumb kalitesi, tipi
opt.Version = cdrVersion11 'Burada yazacağınız versiyon numarasına göre kayıt olacak bu eski
'kodlarımdan kalma olduğu için 11 bırakıyorum.
'bu dökümanı farklı kaydet diyor ve corel11 e göre kaydediyor.
ActiveDocument.SaveAs (ActiveDocument.FullFileName), opt
End Sub 'işte bu kadar sub deyimini sonlandırıyoruz.
İşlem tamam... Bir sonraki derste bu komutu kendimizin yaratacağı, bize özel "VBA" adlı menüye aktaracağız. Böylelikle yazdığımız makroları özel menümüzde görme olanağına da kavuşmuş olacağız.
İyi çalışmalar, başarılar..
NOTLAR:Video1 (wmv formatında 2.6 mb) :
TıklayınızVideo2 (avi formatında 1.98 mb rar sıkıştırma... dikkat! açtığınızda hdd nizde 263 mb bir alan kaplayacaktır) :
TıklayınızYouTube:TıklayınızEkran Görüntü, orjinal jpegler:Tıklayınız Kaynak dosyayı indirmek için tıklayın