Bir belge içeriğine paragraflar, eklenen paragraf bölgelerine metinler eklemek.
Bir belge içeriğindeki paragraflar koleksiyonuna Paragraphs özelliğinden erişebilirsiniz.
Paragraphs özelliği aslında Paragraphs türü bir koleksiyon nesnesidir.
Bu koleksiyon nesnesine ait Add fonksiyonu ile belge içeriğine yeni bir paragraf ekletebilirsiniz. Eklenecek yeni paragraf belgenin o anki içeriğinden sonraya eklenmiş olacaktır.
Koleksiyonuna eklettiğiniz bir paragraf aslında Paragraph türü bir nesnedir. Eklemeyi yapan Add fonksiyonu sonuç olarak bu nesnenin referansını (yani adresini) iletecektir.
Add fonksiyonu sonucunu kullanarak yeni paragraf üzerinde yapacağınız düzenlemeler yeni paragraftan bir önceki paragrafta gözükecekti, çünkü paragraflar koleksiyonu son şeklini almamıştır. Bu fonksiyon çağrısından sonra yeni paragrafa sıra numarasıyla erişmeniz daha doğru olacaktır.
Paragraphs özelliğinden eriştiğiniz koleksiyonun üyeleri olan belge paragraflarına parantez içinde sıra numaraları vererek erişebilirsiniz. Bu üyelerin de her biri, evet, Paragraph türü bir nesnedir.
Paragraphs koleksiyon nesnesinin
First özelliğinden ilk paragrafa,
Last özelliğinden son paragrafa erişebilirsiniz.
Bir paragrafın içerik bölgesine de paragrafı temsil eden Paragraph nesnesinin Range özelliğinden erişebilirsiniz.
Bu özellik size Range türü bir nesnenin referansını verir. Bu nesneye ait
InsertBefore fonksiyonuyla paragraf bölge başlangıcından öncesine,
InsertAfter fonksiyonuyla da paragraf bölge sonunun ötesine eklemeler yapabilirsiniz.
Bir paragraf bölgesi paragrafı bitiren paragraf sonu karakterini de içerdiği için, bir InsertAfter fonksiyon çağrısıyla ekleteceğiniz metin o paragraftan sonra gözükecektir, yani kullandığınız paragrafa eklenmiş olmayacaktır.
Boş veya içeriği olan bir Word belgesi yaratın veya açın.
VBA geliştirme ortamında bu belgeye ait “ThisDocument” VBA projesinde bir altyordam yaratın.
Gerektiğinde bir paragrafa erişmenizi sağlayacak Paragraph türü bir nesne tanımı ekleyin:
Dim para As Paragraph
Belge içeriğindeki ilk paragrafa erişmek isterseniz, şu komutu ekleyin:
Set para = Me.Paragraphs.First
Set terimiyle bir nesneye temsil edeceği paragrafın, kloleksiyonun, belgenin, … özellik değerlerinden oluşan bir hafıza blokunun adresini aktarmış olursunuz. Bir nesneye aktarım yapan komut mutlaka Set ile başlamalıdır!
Belge içeriğine yeni bir paragraf ekletmek için:
Me.Paragraphs.Add
komutunu ekleyin.
Sıra numarasını bildiğiniz (diyelim, 2) bir paragrafa erişmek için:
Set para = Me.Paragraphs(2)
komutunu ekleyin.
Belge içeriğindeki son paragrafa erişmek için:
Set para = Me.Paragraphs.Last
para nesnesi aracılığıyla eriştiğiniz bir paragraf bölgesinin öncesine metin ekletmek için:
para.Range.InsertBefore "Eklenecek metin."
şeklinde bir komut ekleyin.
Bu belgenin içeriği başlangıçta boştur. Aşağıda son halini sunduğumuz altyordam bu boş belgenin başlangıçta var olan ilk (ve tek) paragrafına bir hitap metni, sonradan eklediği ikinci paragrafa bir hatır sorma metni ekleyecek, en son eklediği paragrafa da bir bitiş metni ekleyecektir.
Kaynak Dosya: “BelgeIcerigineParagraflarEklemek.docm”
Unutmayın; kitap veya ekran satırına sığmayan komut satırları alta sarkmış olabilir. Siz onları tek satır olarak yazacaksınız!
Sub BelgeIcerigineParagraflarEklemek()
Dim para As Paragraph
Set para = Me.Paragraphs.First
para.Range.InsertBefore "Sayın Abüziddin Kelaynak,"
Me.Paragraphs.Add
Set para = Me.Paragraphs(2)
para.Range.InsertBefore "Hemşo, nasılsın, iyi misin?"
Me.Paragraphs.Add
Set para = Me.Paragraphs.Last
para.Range.InsertBefore "Sağlıcakla kalmanı dilerim."
End Sub
Altyordam çalıştıktan sonra belge içeriği aşağıdaki gibi olacaktır:
Sayın Abüziddin Kelaynak,
Hemşo, nasılsın, iyi misin?
Sağlıcakla kalmanı dilerim.
Bu ve sonraki örneklerde kullandığımız hayali adların hiç birinin gerçek kişileri temsil etmediğini hatırlatıyoruz.