Google Reklamları =)

Hakan Özdemir

CorelDraw VBA - Döküman içi Sayfalara Otomatik Ad Vermek

Özellikle kitap, dergi mizanpaj işlerini yaparken CD içinde oluşturduğumuz sayfaların yeniden adlandırılması, baştan numaralandırılması gerekebilir.

Yüzlerce sayfa bir kitabı tasarlarken CD içinde oluşmuş bu sayfaları adlandırmanın/numaralandırmanın ne kadar uzun zaman alabileceğini hayal etmek bile bu dersin önemini ortaya koyabilir.

Öncelikle gms modülümüz içine (bunun için ilk derslerimiz için oluşturmuş olduğumuz "ilk.gms" modülünü kullanabiliriz.) bir form ekleyip buna hemen bir ad verelim, örnek "pgnum" olsun. Daha sonra form üzerine; bir adet textbox, bir adet de command button yerleştiriyoruz. textbox adı "numver", command buton adı da "numarala" olsun. (bu nesnelere bir ad vermeyi alışkanlık haline getirmenizde yarar var, modül içine form ekleme ve form üzerine yerleştirilmeleri, adlar verilmesi konularını önceki derslerde ayrıntılı olarak ele almıştık.)

http://img.sanalkurs.net/uploads/ders23_001.jpg

Formumuzun "show Modal" halini "false" yapmayı unutmuyoruz değil mi? (bunun da önemini belirtmiştik.) evet, butona çift tıklayıp kod penceresine geçelim ve şu kodları yazmaya başlayalım;

Dim idx As Long, i As Long, t As Long 'öncelikle tanımlamaları yapıyoruz,
'buradaki tanımlar döngü içinde rakam değerleri taşıyacaklar,
'sayfaların tamamının sayımı, bir sonraki numaranın değeri vs.
Dim doc As Document 'doc stringinin dokümana karşılık geldiğini söylüyoruz.
Dim p As Page 'p nin sayfaya karşılık geldiğini söylüyoruz.

Set doc = ActiveDocument 'doc tanımı şuan aktif olan döküman
idx = doc.ActivePage.Index 'aktif sayfanın içeriği...
t = pgnumm.numverr.Text 'form üzerindeki textbox'a hangi değer girildiyse "t"
'stringinin karşılığı o olacak.
For i = idx To doc.Pages.Count 'sayfaların kaç adet olduğunu buluyoruz
Set p = doc.Pages(i) 'p değerini veriyoruz, baştan sona kadar sayfaların toplamının
'hepsi p ile eşitleniyor...
p.Name = "kitabım_" & t 'ilk sayfadan itibaren t'ye girilen değeri ver...
t = t + 1 've sonraki işlemde 1 artır...
Next i 'işini bitirdikten sonra sonraki sayfaya geçip devam et...

şimdi kodların nasıl göründüğüne bir bakalım;
Dim idx As Long, i As Long, t As Long
Dim doc As Document
Dim p As Page

Set doc = ActiveDocument
idx = doc.ActivePage.Index
t = pgnumm.numverr.Text
For i = idx To doc.Pages.Count
Set p = doc.Pages(i)
p.Name = "kitabım_" & t
t = t + 1
Next i


Şimde "F5" tuşuna yada üstteki "play" butonuna tıklayarak projemizi aktif hale getirelim. Corel döküman önümüzde ve formumuz da açık.

http://img.sanalkurs.net/uploads/ders23_002.jpg

Örnek veriyorum; +89 sayfa daha ekleyelim

http://img.sanalkurs.net/uploads/ders23_003.jpg
http://img.sanalkurs.net/uploads/ders23_004.jpg
http://img.sanalkurs.net/uploads/ders23_005.jpg

Formumuza herhangibir "rakam" girelim, (harf girirseniz hata verir!) ve butona basalım.

http://img.sanalkurs.net/uploads/ders23_007.jpg

Son sayfaya kadar "kitabım_xxx" şeklinde adlandırmayı yapmış oldu değil mi?

http://img.sanalkurs.net/uploads/ders23_006.jpg

Başarılar, iyi çalışmalar diliyorum...
 
Google Reklamları =)
Tekil:224 | Çoğul:865 | Çevrimiçi:

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol