Döküman İç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.)
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.
Örnek veriyorum; +89 sayfa daha ekleyelim
Formumuza herhangibir "rakam" girelim, (harf girirseniz hata verir!) ve butona basalım.
Son sayfaya kadar "kitabım_xxx" şeklinde adlandırmayı yapmış oldu değil mi?
Başarılar(buluttimes)