Formumuza bir text kutusu 2 adet de komut butonu ekleyelim. Bir komut düğmesine basarak text kutusuna girdiğimiz yazıyı word belgesine çeşitli formatlarda ekleyeceğiz. Diğer komut butonu ise belgeyi kapatacak. Ayrıca belgemizin dilini tespit ederek bunu da text kutusuna yazacağız.
Kod şu şekilde olacak:
Public Class Form1
Dim objWord As Object 'word programı
Dim objDocument As Object
Dim objselection As Object
Const END_OF_STORY = 6
Private Sub cmdkapat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkapat.Click
Try
objDocument.Close() 'word belgesini kapat
objWord.Quit() 'word uygulamasını kapat
objDocument = Nothing 'word belgesini bellekten sil
objWord = Nothing 'word uygulamasını bellekten sil
Catch
MsgBox("Önce belge açmanız gerekiyor")
Exit Sub
End Try
End Sub
Private Sub cmdyaziekle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdyaziekle.Click
Dim dil
objDocument = objWord.Documents.Add 'yeni word belgesi açıyoruz.
objWord.Visible = True 'word programını görünür hale getiriyoruz.
objselection = objWord.Selection
If Not TextBox1.Text = "" Then
With objDocument.Paragraphs(1)
.Alignment = 1
End With
With objselection.Font
.Name = "Times New Roman" 'yazı tipini değiştiriyoruz
.Size = 14 'yazı boyutunu değiştiriyoruz
.Underline = True 'yazıyı altı çizili yapıyoruz
End With
objselection.boldrun() 'yazıyı kalın yapıyoruz
objselection.TypeText(TextBox1.Text) 'Tablodan önce Tablo 1 yazısını ekliyoruz
objselection.TypeParagraph() 'paragrafı seçiyoruz
objselection.boldrun() 'yazının kalınlık özelliğini kaldırıyoruz
objselection.TypeText(TextBox1.Text) 'Tablodan önce Tablo 1 yazısını ekliyoruz
dil = objselection.languageID
If dil = 1055 Then
TextBox1.Text = TextBox1.Text & " dil Türkçe"
Else
If dil = 2057 Then
TextBox1.Text = TextBox1.Text & " dil İngiltere İngilizcesi"
Else
If dil = 1033 Then
TextBox1.Text = TextBox1.Text & " dil Amerikan İngilizcesi"
End If
End If
End If
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
objWord = CreateObject("Word.Application") 'yeni word uygulaması oluşturuyoruz.
End Sub
End Class
Programımızda
With objDocument.Paragraphs(1)
.Alignment = wdAlignParagraphCenter
End With
İfadesi ile hizalama seçili olan paragrafı hizaladık.
.Alignment ifadesi şu değerleri alabilir:
1 değeri ortaya hizalama
0 değeri sola hizalama
2 değeri sağa hizalama
Yazımızı kalın yapmak için iki ayrı yöntem kullanabiliriz..
Birinci yöntem de objselection.boldrun ifadesini kullanabiliriz.
Elbette öncelikle bir alanın seçilmesi gereklidir. Çünkü objselection ifadesi ile seçili olan alan üzerinde işlem yapılır.
objselection.TypeParagraph ifadesi ile paragrafı seçiyoruz.
objselection.boldrun ilk yazıldığında yazıyı kalın yapar tekrar yazıldığında ise yazının kalınlık özelliğini kaldırır.
objselection.Font.bold=true yazarak da yazımızı kalın yapabiliriz.
objselection.Font.bold=false yazarak yazının kalınlık özelliğini kullanabiliriz.
Biz programımızda objselection.Font.Underline=true yazarak yazımızı altı çizili yaptık.
objselection.Font.Italic=true yazılarak seçili olan yazı eğik hale getirilebilir.
Ayrıca örneğimizde objselection.languageID ifadesi ile belgemizin dilini tespit ettik. Biz burada yalnızca birkaç adet dil tanımlaması kullandık.
objselection.languageID ifadesinin aldığı tüm parametreler şunlardır:
|
Özellik ismi
|
Değer
|
Özellik ismi
|
Değer
|
|
wdAfrikaans
|
1078
|
wdEnglishCaribbean
|
9225
|
|
wdAlbanian
|
1052
|
wdEnglishIndonesia
|
14345
|
|
wdAmharic
|
1118
|
wdEnglishIreland
|
6153
|
|
wdArabic
|
1025
|
wdEnglishJamaica
|
8201
|
|
wdArabicAlgeria
|
5121
|
wdEnglishNewZealand
|
5129
|
|
wdArabicBahrain
|
15361
|
wdEnglishPhilippines
|
13321
|
|
wdArabicEgypt
|
3073
|
wdEnglishSouthAfrica
|
7177
|
|
wdArabicIraq
|
2049
|
wdEnglishTrinidadTobago
|
11273
|
|
wdArabicJordan
|
11265
|
wdEnglishUK
|
2057
|
|
wdArabicKuwait
|
13313
|
wdEnglishUS
|
1033
|
|
wdArabicLebanon
|
12289
|
wdEnglishZimbabwe
|
12297
|
|
wdArabicLibya
|
4097
|
wdEstonian
|
1061
|
|
wdArabicMorocco
|
6145
|
wdFaeroese
|
1080
|
|
wdArabicOman
|
8193
|
wdFarsi
|
1065
|
|
wdArabicQatar
|
16385
|
wdFilipino
|
1124
|
|
wdArabicSyria
|
10241
|
wdFinnish
|
1035
|
|
wdArabicTunisia
|
7169
|
wdFrench
|
1036
|
|
wdArabicUAE
|
14337
|
wdFrenchCameroon
|
11276
|
|
wdArabicYemen
|
9217
|
wdFrenchCanadian
|
3084
|
|
wdArmenian
|
1067
|
wdFrenchCotedIvoire
|
12300
|
|
wdAssamese
|
1101
|
wdFrenchHaiti
|
15372
|
|
wdAzeriCyrillic
|
2092
|
wdFrenchLuxembourg
|
5132
|
|
wdAzeriLatin
|
1068
|
wdFrenchMali
|
13324
|
|
wdBasque
|
1069
|
wdFrenchMonaco
|
6156
|
|
wdBelgianDutch
|
2067
|
wdFrenchMorocco
|
14348
|
|
wdBelgianFrench
|
2060
|
wdFrenchReunion
|
8204
|
|
wdBengali
|
1093
|
wdFrenchSenegal
|
10252
|
|
wdBrazilianPortuguese
|
1046
|
wdFrenchWestIndies
|
7180
|
|
wdBulgarian
|
1026
|
wdFrenchZaire
|
9228
|
|
wdBurmese
|
1109
|
wdFrisianNetherlands
|
1122
|
|
wdByelorussian
|
1059
|
wdFulfulde
|
1127
|
|
wdCatalan
|
1027
|
wdGaelicIreland
|
2108
|
|
wdCherokee
|
1116
|
wdGaelicScotland
|
1084
|
|
wdChineseHongKongSAR
|
3076
|
wdGalician
|
1110
|
|
wdChineseMacaoSAR
|
5124
|
wdGeorgian
|
1079
|
|
wdChineseSingapore
|
4100
|
wdGerman
|
1031
|
|
wdCroatian
|
1050
|
wdGermanAustria
|
3079
|
|
wdCzech
|
1029
|
wdGermanLiechtenstein
|
5127
|
|
wdDanish
|
1030
|
wdGermanLuxembourg
|
4103
|
|
wdDivehi
|
1125
|
wdGreek
|
1032
|
|
wdDutch
|
1043
|
wdGuarani
|
1140
|
|
wdDzongkhaBhutan
|
2129
|
wdGujarati
|
1095
|
|
wdEdo
|
1126
|
wdHausa
|
1128
|
|
wdEnglishAUS
|
3081
|
wdHawaiian
|
1141
|
|
wdEnglishBelize
|
10249
|
wdHebrew
|
1037
|
|
wdEnglishCanadian
|
4105
|
wdHindi
|
1081
|
|
Özellik ismi
|
Değer
|
Özellik ismi
|
Değer
|
|
wdHungarian
|
1038
|
wdSamiLappish
|
1083
|
|
wdIbibio
|
1129
|
wdSanskrit
|
1103
|
|
wdIcelandic
|
1039
|
wdSerbianCyrillic
|
3098
|
|
wdIgbo
|
1136
|
wdSerbianLatin
|
2074
|
|
wdIndonesian
|
1057
|
wdSesotho
|
1072
|
|
wdInuktitut
|
1117
|
wdSimplifiedChinese
|
2052
|
|
wdItalian
|
1040
|
wdSindhi
|
1113
|
|
wdJapanese
|
1041
|
wdSindhiPakistan
|
2137
|
|
wdKannada
|
1099
|
wdSinhalese
|
1115
|
|
wdKanuri
|
1137
|
wdSlovak
|
1051
|
|
wdKashmiri
|
1120
|
wdSlovenian
|
1060
|
|
wdKazakh
|
1087
|
wdSomali
|
1143
|
|
wdKhmer
|
1107
|
wdSorbian
|
1070
|
|
wdKirghiz
|
1088
|
wdSpanish
|
1034
|
|
wdKonkani
|
1111
|
wdSpanishArgentina
|
11274
|
|
wdKorean
|
1042
|
wdSpanishBolivia
|
16394
|
|
wdKyrgyz
|
1088
|
wdSpanishChile
|
13322
|
|
wdLanguageNone
|
0
|
wdSpanishColombia
|
9226
|
|
wdLao
|
1108
|
wdSpanishCostaRica
|
5130
|
|
wdLatin
|
1142
|
wdSpanishDominicanRepublic
|
7178
|
|
wdLatvian
|
1062
|
wdSpanishEcuador
|
12298
|
|
wdLithuanian
|
1063
|
wdSpanishElSalvador
|
17418
|
|
wdMacedonian
|
1071
|
wdSpanishGuatemala
|
4106
|
|
wdMalayalam
|
1100
|
wdSpanishHonduras
|
18442
|
|
wdMalayBruneiDarussalam
|
2110
|
wdSpanishModernSort
|
3082
|
|
wdMalaysian
|
1086
|
wdSpanishNicaragua
|
19466
|
|
wdMaltese
|
1082
|
wdSpanishPanama
|
6154
|
|
wdManipuri
|
1112
|
wdSpanishParaguay
|
15370
|
|
wdMarathi
|
1102
|
wdSpanishPeru
|
10250
|
|
wdMexicanSpanish
|
2058
|
wdSpanishPuertoRico
|
20490
|
|
wdMongolian
|
1104
|
wdSpanishUruguay
|
14346
|
|
wdNepali
|
1121
|
wdSpanishVenezuela
|
8202
|
|
wdNoProofing
|
1024
|
wdSutu
|
1072
|
|
wdNorwegianBokmol
|
1044
|
wdSwahili
|
1089
|
|
wdNorwegianNynorsk
|
2068
|
wdSwedish
|
1053
|
|
wdOriya
|
1096
|
wdSwedishFinland
|
2077
|
|
wdOromo
|
1138
|
wdSwissFrench
|
4108
|
|
wdPashto
|
1123
|
wdSwissGerman
|
2055
|
|
wdPolish
|
1045
|
wdSwissItalian
|
2064
|
|
wdPortuguese
|
2070
|
wdSyriac
|
1114
|
|
wdPunjabi
|
1094
|
wdTajik
|
1064
|
|
wdRhaetoRomanic
|
1047
|
wdTamazight
|
1119
|
|
wdRomanian
|
1048
|
wdTamazightLatin
|
2143
|
|
wdRomanianMoldova
|
2072
|
wdTamil
|
1097
|
|
wdRussian
|
1049
|
wdTatar
|
1092
|
|
wdRussianMoldova
|
2073
|
wdTelugu
|
1098
|
|
Özellik ismi
|
Değer
|
Özellik ismi
|
Değer
|
|
wdThai
|
1054
|
wdUzbekCyrillic
|
2115
|
|
wdTibetan
|
1105
|
wdUzbekLatin
|
1091
|
|
wdTigrignaEritrea
|
2163
|
wdVenda
|
1075
|
|
wdTigrignaEthiopic
|
1139
|
wdVietnamese
|
1066
|
|
wdTraditionalChinese
|
1028
|
wdWelsh
|
1106
|
|
wdTsonga
|
1073
|
wdXhosa
|
1076
|
|
wdTswana
|
1074
|
wdYi
|
1144
|
|
wdTurkish
|
1055
|
wdYiddish
|
1085
|
|
wdTurkmen
|
1090
|
wdYoruba
|
1130
|
|
wdUkrainian
|
1058
|
wdZulu
|
1077
|
|
wdUrdu
|
1056
|
|
|
Son olarak proje dosyamızın linkini verelim:
http://www.volkanaktas.com/PrgDosya/yaziekleme.rar