Oncelikle Project-->References menusunden Microsoft Word 12.0 Object Library kutuphanesini projemize dahil edelim. Şimdi oncelikle kodlarımızı tanıyalım. Aşağıda word belgesinde paragraf ve tablo bicimlendirme ayarlarından bazı ornekler verilmiştir. Bunları siz coğaltabilirsiniz. Kodların yanında acıklamaları verilmiştir.
Kod:
Dim word_ As Word.Application 'word_ adında yeni bir word uygulaması tanımlıyoruz. Dim word_belge As Word.Document 'word_ dosyasında yeni bir belge tanımlıyoruz. Dim word_para As Word.Paragraph 'yeni bir paragraf tanımlıyoruz. Dim word_tablo As Word.Table 'yeni bir tablo tanımlıyoruz. Set word_ = CreateObject("Word.Application") 'word uygulamasını oluşturuyoruz. word_.Visible = true 'uygulamanın gizli ya da gorunur olması Set word_belge = word_.Documents.Add 'belgemizi oluşturuyoruz. Set word_tablo = word_belge.Tables.Add(word_belge.Range, 5, 10) '5 satır 10 sutunluk tablomuzu oluşturuyoruz. Set word_para = word_belge.Content.Paragraphs.Add 'Paragraf oluşturuyoruz. word_para.Range.Text = "Paragraf Burası" 'Paragrafta yazılacak bilgi word_para.Range.Font.Bold = True 'Paragfarın yazı bicimi kalın. word_para.Format.SpaceAfter = 24 'Paragraf satırından sonra gelecek yeni satır 24 karakter aşağıda olsun. word_tablo.Rows(1).Range.Font.Bold = True 'Tablonun 1. Satırının yazı bicimi kalın olsun. word_tablo.Borders.InsideLineStyle = wdLineStyleDouble 'Tablonun ic kenarlık bicimini ayarlıyoruz.(iki cizgi) word_tablo.Borders.OutsideLineStyle = wdLineStyleTriple 'Tablonun dış kenarlık bicimini ayarlıyoruz.(uc cizgi) word_tablo.Rows.Alignment = wdAlignRowCenter 'Tablo sayfayının ortasında yer alsın. word_tablo.Range.Font.Size = 10 'Tablonun yazı boyutu 10 pt olsun. word_tablo.Range.Font.Name = "Times New Roman" 'Tablonun yazı tipini ayarlıyoruz. word_tablo.Rows.HeightRule = wdRowHeightExactly 'Satır yukseklikleri tam olsun (aşağıda verilen değerler olsun) word_tablo.Columns(1).Width = 70 '1. Kolonun genişliği word_tablo.Columns(6).Width = 40 word_tablo.Range.Paragraphs.Alignment = wdAlignParagraphCenter 'Tablodaki yazılar ortalansın. word_tablo.Range.HorizontalInVertical = wdHorizontalInVerticalResizeLine '----> yazıyı yataydan duşeye cevirir. word_tablo.Cell(2, 3).VerticalAlignment = wdCellAlignVerticalCenter '2.satır-3.sutundaki hucrenin yazısı duşeyde ortalansın. word_tablo.Rows(1).Height = 20 '1. Satırın yuksekliği 20 olsun. word_tablo.Cell(1, 1).Merge MergeTo:=word_tablo.Cell(2, 1) '1.satır-1.sutundaki hucre ile 2.satır-1.sutundaki hucreyi birleştir.
Şimdi yukarıda verilen kodlar yardımıyla MsFlexGrid nesnesinde hazırlanmış bir tabloyu word belgesi halinde hazırlayan bir program yapalım. Projemize iki adet command buton, 1 adet de MsFlexGrid nesnesi ekleyelim. MsFlexGrid nesnesini eklemek icin once ProjectàComponents menusunden Microsoft FlexGrid Control 6.0 ‘ı projemize dahil edelim. Sonra toolbox’dan nesnemizi forma ekleyebiliriz. MsFlexGrid nesnemizin cols ve rows değerlerini 5 yapalım. Aşağıdaki kodları command1_click yordamına ekleyelim.
Kod:
For i = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.ColAlignment(i) = 3 'Yazıları yatay olarak ortalıyoruz. Next i MSFlexGrid1.Row = 0: MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "Matematik" MSFlexGrid1.Row = 0: MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "Turkce" MSFlexGrid1.Row = 0: MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "Fizik" MSFlexGrid1.Row = 0: MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "Kimya" MSFlexGrid1.Row = 1: MSFlexGrid1.Col = 0: MSFlexGrid1.Text = "Ahmet" MSFlexGrid1.Row = 1: MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "98" MSFlexGrid1.Row = 1: MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "56" MSFlexGrid1.Row = 1: MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "68" MSFlexGrid1.Row = 1: MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "75" MSFlexGrid1.Row = 2: MSFlexGrid1.Col = 0: MSFlexGrid1.Text = "Ali" MSFlexGrid1.Row = 2: MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "24" MSFlexGrid1.Row = 2: MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "46" MSFlexGrid1.Row = 2: MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "89" MSFlexGrid1.Row = 2: MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "75" MSFlexGrid1.Row = 3: MSFlexGrid1.Col = 0: MSFlexGrid1.Text = "Ayşe" MSFlexGrid1.Row = 3: MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "44" MSFlexGrid1.Row = 3: MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "46" MSFlexGrid1.Row = 3: MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "67" MSFlexGrid1.Row = 3: MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "49" MSFlexGrid1.Row = 4: MSFlexGrid1.Col = 0: MSFlexGrid1.Text = "Fatma" MSFlexGrid1.Row = 4: MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "87" MSFlexGrid1.Row = 4: MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "79" MSFlexGrid1.Row = 4: MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "65" MSFlexGrid1.Row = 4: MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "58"
Bu kodları ekleyip projemizi calıştırdıktan sonra command1 tuşuna basalım. Aşağıdaki gibi tablomuzun oluşması gerekmektedir.



Daha sonra aşağıdaki kodları command2_click yordamına ekleyelim.
Kod:
Dim word_ As Word.Application Dim word_belge As Word.Document Dim word_para As Word.Paragraph Dim word_tablo As Word.Table On Error GoTo word_hata: 'Burada eğer bir hata ile karşılaşırsak word_hata satırına yonlendirme yapıyoruz. word_sutun = 5 word_satır = 5 Set word_ = CreateObject("Word.Application") Set word_belge = word_.Documents.Add Set word_tablo = word_belge.Tables.Add(word_belge.Range, word_satır, word_sutun) word_tablo.Rows(1).Range.Font.Bold = True word_tablo.Borders.InsideLineStyle = wdLineStyleDouble word_tablo.Borders.OutsideLineStyle = wdLineStyleTriple word_tablo.Rows.Alignment = wdAlignRowCenter word_tablo.Range.Font.Size = 10 word_tablo.Range.Font.Name = "Times New Roman" word_tablo.Rows.HeightRule = wdRowHeightExactly word_tablo.Columns(1).Width = 70 word_tablo.Range.Paragraphs.Alignment = wdAlignParagraphCenter For i = 1 To 5 For j = 1 To 5 word_tablo.Cell(j, i).VerticalAlignment = wdCellAlignVerticalCenter Next j Next i word_tablo.Rows(1).Height = 20 For i = 2 To word_satır word_tablo.Rows(i).Height = 15 Next For i = 1 To 5 For j = 1 To 5 MSFlexGrid1.Row = i - 1 MSFlexGrid1.Col = j - 1 word_tablo.Cell(i, j).Range.Text = MSFlexGrid1.Text Next j Next i word_.Visible = True word_hata: 'Buradan sonraki satırlarda hata kontrolu yapıyoruz. If Err.Number 0 Then If Err.Number = 429 Then MsgBox "Microsoft Office'in herhangi bir surumu yuklu değil.", vbExclamation, " Uyarı" Else MsgBox "Ms.Office Word uygulaması ile ilgili belirlenemeyen bir hata ile karşılaşıldı.", vbExclamation, " Uyarı" End If End If
Projemizi calıştırdıktan sonra MsFlexGrid nesnesindeki tablonun word belgesi halinde acılacağını goreceksiniz. Sizde bu kodlar yardımıyla yeni uygulamalar yapabilirsiniz. Bu ve bunun gibi dersleri, kodları ve uygulamaları www.sisproyazilim.com adresinde bulabilirsiniz.
__________________