• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Userformdan Worda Veri Aktarımı

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

tukayf

Yeni Üye
Katılım
19 Eyl 2022
Mesajlar
528
Çözümler
19
Aldığı beğeni
143
Excel V
Office 2019 TR
Konu Sahibi
Private Sub CommandButton7_Click()

On Error GoTo ErrHandler

Dim wd As Word.Application
Dim wdDoc As Word.Document
Dim wrdPic As Word.InlineShape
Dim ImgName As String
Dim xlSht As Worksheet
Dim MyConn As String
Dim rst As ADODB.Recordset
Dim i As Integer, intRec As Integer
Dim arrVal As Variant


MyConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source= " & ThisWorkbook.Path & "\VT.mdb"

Set rst = New ADODB.Recordset
rst.Open "personel", MyConn, adOpenStatic, adLockReadOnly

intRec = rst.RecordCount

arrVal = rst.GetRows(intRec)

On Error Resume Next

Set wd = New Word.Application

With wd
.Visible = False
.ScreenUpdating = False
End With


For i = 0 To (intRec - 1)
ImgName = ThisWorkbook.Path & "\Resimler\" & arrVal(1, i) & ".jpg"
Set wdDoc = wd.Documents.Add(ThisWorkbook.Path & "\sablon.dotx")
With wdDoc
.Bookmarks("ad").Range.Text = arrVal(4, i)
.Bookmarks("anneadi").Range.Text = arrVal(51, i)
.Bookmarks("sicil").Range.Text = arrVal(1, i)
If Dir(ImgName) <> "" Then
Set wrdPic = .Bookmarks("Img").Range.InlineShapes.AddPicture(Filename:=ImgName, LinkToFile:=False, SaveWithDocument:=True)
wrdPic.Height = 95
wrdPic.Width = 110
End If

.SaveAs2 Filename:=ThisWorkbook.Path & "\" & arrVal(4, i) & ".docx", FileFormat:=wdFormatXMLDocument
.Close
End With
Next i

With wd
.ScreenUpdating = True
.Quit
End With

ErrExit:

Set wd = Nothing
Set wdDoc = Nothing

Exit Sub

ErrHandler:

wd.Quit
Set wd = Nothing
Set wdDoc = Nothing
Set wrdPic = Nothing

End Sub
Sn. mozuer hocam. Bu kodlar harika çalışıyor. Tüm personeli Word e aktarıyor. İlginç bir şekilde Şablondaki ve dosyadaki tablolar gözükmüyor. Ama yazıcıda normal çıktı alabiliyorum bu nedenle çok önemli değil. Ancak tek bir personeli Word e aktarmak istediğimde kodları nasıl revize etmeliyim acaba. İnceledim ama bulamadım.

Şimdiden çok teşekkürler.
 
Çözüm
Sn. mozuer hocam. Bu kodlar harika çalışıyor. Tüm personeli Word e aktarıyor. İlginç bir şekilde Şablondaki ve dosyadaki tablolar gözükmüyor. Ama yazıcıda normal çıktı alabiliyorum bu nedenle çok önemli değil. Ancak tek bir personeli Word e aktarmak istediğimde kodları nasıl revize etmeliyim acaba. İnceledim ama bulamadım.

Şimdiden çok teşekkürler.
Öncelikle;
ThisWorkbook.Path & "\sablon.dotx"
Bu koddan dolayı sablon.dotx word dosyası
excel dosyasıyla aynı klasörde olmalı, başka klasörde ise yol ona göre tanımlanmalı
Sizin gönderdiğiniz klasörde sablon.dotx word dosyası yok

Tek perseonel için form üzerindeki aktif sayfadan alınan bilgilerle çalışması gereken aşağıdaki kodu dener misiniz...

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Sn. mozuer hocam. Bu kodlar harika çalışıyor. Tüm personeli Word e aktarıyor. İlginç bir şekilde Şablondaki ve dosyadaki tablolar gözükmüyor. Ama yazıcıda normal çıktı alabiliyorum bu nedenle çok önemli değil. Ancak tek bir personeli Word e aktarmak istediğimde kodları nasıl revize etmeliyim acaba. İnceledim ama bulamadım.

Şimdiden çok teşekkürler.
Öncelikle;
ThisWorkbook.Path & "\sablon.dotx"
Bu koddan dolayı sablon.dotx word dosyası
excel dosyasıyla aynı klasörde olmalı, başka klasörde ise yol ona göre tanımlanmalı
Sizin gönderdiğiniz klasörde sablon.dotx word dosyası yok

Tek perseonel için form üzerindeki aktif sayfadan alınan bilgilerle çalışması gereken aşağıdaki kodu dener misiniz...

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Konu Sahibi
Birazdan dönüş yapacağım hocam. Zahmet verdik çok teşekkürler.
Sablon dosyalara aynı yol içerisinde ancak buraya yüklememişim.
 
Ayrıca;
Eğer word şablonundaki yer imi isimleri ile personel tablosundaki alan adları aynı ise (aynı değilse eşitleyebilirsiniz) aşağıdaki kod daha sade bir çalışma olur, deneyebilirsiniz...
Olumlu sonuçlanırsa tek personel için de uygularız...


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Hocam alan adları ile yer imleri aynı. Ama her alanı Word e almadık burda bir sorun oluşturur mu acaba.
 
Konu Sahibi
Öncelikle;
ThisWorkbook.Path & "\sablon.dotx"
Bu koddan dolayı sablon.dotx word dosyası
excel dosyasıyla aynı klasörde olmalı, başka klasörde ise yol ona göre tanımlanmalı
Sizin gönderdiğiniz klasörde sablon.dotx word dosyası yok

Tek perseonel için form üzerindeki aktif sayfadan alınan bilgilerle çalışması gereken aşağıdaki kodu dener misiniz...

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bu tamam hocam çok teşekkürler. Diğerine inşallah öğleden sonra dönüş yapacağım alan eşitleme kısmını.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst