• Foruma hoş geldin 👋 Ziyaretçi

    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 tamamen ücretsizdir.

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

Bu sorun verilen destek sayesinde çözüme ulaştırılmıştır.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

tukayf

Yeni Üye
Kullanıcı Bilgileri
Katılım
19 Eyl 2022
Mesajlar
418
Çözümler
9
Aldığı beğeni
97
Excel Versiyonu
Office 2019 TR
Konuyu Başlatan
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.
 

Ekli dosyalar

  • PTS.zip
    122.2 KB · Gösterim: 5
Çö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...

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
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...

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
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...


Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Hocam alan adları ile yer imleri aynı. Ama her alanı Word e almadık burda bir sorun oluşturur mu acaba.
 
Ö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...

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
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.

Konuyu okuyanlar

Geri
Üst