PRATİK BİLGİLER
Word'e Veri Gönderme
Merhaba Arkadaşlar,
Yine önemli bir konu ile karşı karşıyayız, geçen makalemizde MS Access Formu üzerinden Excel uygulamasına veri göndermeyi (Export) görmüştük.
Bu makalemizde ise MS Access Formu üzerinden Word belgesine veri göndermeyi (Export) göreceğiz.
Arkadaşlar bu yöntemi uygulamak için öncelikle Word şablonumuzu oluşturmamız gerekiyor.
Bunun için yeni bir Word belgesi açıyoruz. Aşağıdaki gibi alan isimlerini açıklayan etiketleri yazıyoruz.
Daha sonra karşımıza aşağıdaki pencere çıkacaktır.
Bu pencerede en üstteki boşluğa hangi alana Yer işareti ekleyeceksek o alanı çağrıştıran bir isim verelim. Ben çalışmalarımda alan isimlerinin başına w_ harfini yazıyorum. Siz kendi yönteminizi uygulayabilirsiniz. Daha sonra Ekle butonuna tıkladıktan sonra, pencereyi kapatıp diğer alanlar içinde aynı işlemleri tekrarlayalım. Hepsi tamamlandıktan sonra yukarıdaki pencereyi görmelisiniz.
Yer işareti ekleme işimiz bittiğine göre sıra Şablon dosyamızı kaydetmeye geldi. Burada dikkat edeceğimiz nokta dosya uzantısı ve dosyanın bulunduğu konum. Farklı Kaydet yapalım, daha sonra açılan pencereden dosya türünü Word Şablonu (*.dotx) seçelim. Daha sonra dosyanın konumu için uygulamamızın bulunduğu konumu seçelim ve Kaydet deyip çıkalım. Veri aktaracak şablonumuz artık hazır. (Dosyanın ismi Şablon.dotx olmalıdır.)
Şimdi sıra tablo ve formumuzu oluşturmaya geldi. Öncelikle tablo tasarımını açıp aşağıdaki gibi alanlar tanımlayın ve kaydedin. Tablomuz hazır.
Şimdi ise formumuzu oluşturalım, Forma 1 tane komut butonu ekliyoruz. İsmi cmdAktar olsun. Bu butonla verileri Worde göndereceğiz. Word ile işlem yapacağımız için Ms Access'e bunu bildirmemiz gerekiyor, Aksi halde verilerimizi aktaramayız. Bu bildirim işini ise VBA penceresinde Tools sekmesinde bulunan References sekmesinden yapıyoruz. Aşağıda bu pencere görülüyor.
Daha sonra formumuza verilerimizi giriyoruz.
Evet formumuzu da oluşturmuş olduk ve verilerimizi giriyoruz. Verilerimizi girdikten sonra Word'e Aktar butonuna tıklıyoruz.
Şimdi bu butonun arkasındaki koda göz atalım.
Private Sub cmdAktar_Click()
Dim WordApp As Word.Application
Dim strYol As String
strYol = CurrentProject.Path & "\Şablon" & ".dotx"
Application.FollowHyperlink
strYol, , True, True
On Error Resume Next
Set WordApp = GetObject(,
"Word.Application")
WordApp.Documents.Open (strYol)
WordApp.Visible = True
WordApp.WindowState =
wdWindowStateMaximize
With WordApp.Selection
.GoTo
what:=wdGoToBookmark, Name:="w_malzemeID"
.TypeText
Me.malzemeID
.GoTo
what:=wdGoToBookmark, Name:="w_malzemeadi"
.TypeText Me.adi
.GoTo
what:=wdGoToBookmark, Name:="w_stok"
.TypeText Me.stok
.GoTo
what:=wdGoToBookmark, Name:="w_birimfiyat"
.TypeText
Me.birimfiyat
End With
WordApp.Activate
Set WordApp = Nothing
End Sub
|
Evet yukarıdaki kod gayet açık tanımlamalar yapıldıktan sonra bir With .... End With döngüsü ile alanlarımızı Word'e aktarıyoruz. En sonda Word uygulamamızı hafızadan kaldırıyoruz. Word dosyamızı kapatırken kaydetmiyoruz. Eğer kaydedeceksek dosya türünü docx seçip kaydetmeliyiz, Aksi takdirde bir sonraki veri aktarımınızda yazılmış verilerin üzerine veriler yazmış olursunuz.
Evet Arkadaşlar MS Access'ten Word'e veri aktarımının en basit halini sizlere anlatmaya çalıştım. Umarım sizlere faydalı olur. Bir daha ki makalede farklı bir konuyla görüşmek üzere...
Şimdilik, Hoşcakalın...
0 Yorumlar