Değerli arkadaşlar;
Çalışmış olduğum datayı word aktarma yapabiliyorum ancak word dosyasına sol üst köşeye kurum logunu getiremiyorum.
Word şablon olarak kaydettim bu seferde veriler gelmiyor bir yerde hata yapıyorum bu konuda yardımcı olursanız sevinirim.
Merhaba Sayın @
cdenktas
- Sizi uygulamalarınız ile ilgili olarak defalarca uyardık Türkçe karakter kullanımı, denetim adlandırmalarında boşluk kullanmak vs ile ilgili ancak bu alışkanlığınızdan vazgeçmiyorsunuz. Uygulamanız baştan sona hata dolu.
- DoCmd.OutputTo acReport, "Kisi_Bilgileri", acFormatRTF, CurrentProject.Path & "\frm_cikti.rtf", True kodu her ne kadar uzantı olarak rtf alıp Rich Text Format olarak görünse de, bu kod Rich Text ve image dosyalarını Word'e export etmez. Export edilen tüm metinlerde Plain Text formatındadır.
- İstediğiniz şekilde raporu export etmek için ya pdf olarak export etmeyi tercih etmelisiniz veya Word dosyasına formatlayarak export etmeyi öğrenmelisiniz.
Sorunuza gelecek olursak öğrenme eğiliminizdeki kararlılık noksanlığından yola çıkarak en basit yol olark önerim, raporunuzu önce pdf olarak export edip sonra worde çevirmeniz olacaktır. Aşağıda buna uygun örnek kod mevcut.
Private Sub Komut44_Click()
If IsNull(Me.tc_goster) Then
MsgBox "Hiç Bir Kayıt Seçilmedi"
Else
DoCmd.OutputTo acOutputReport, "Kisi_Bilgileri", acFormatPDF, CurrentProject.Path & "\frm_cikti.pdf", False ' Raporu önce PDF olarak kaydedin
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True ' Word uygulamasını ekrana getirir. False yaparsanız görünmez.
Dim doc As Object
Set doc = WordApp.Documents.Add(CurrentProject.Path & "\frm_cikti.pdf") ' Rapor pdfini Word'e dönüştürün
' Eğer resimler Word belgesine doğru bir şekilde eklenmediyse manuel olarak aşağıdaki gibi ekleyebilirsiniz.
' doc.Shapes.AddPicture "DosyaYolu\ResimDosyasi.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=100, Top:=100, Width:=50, Height:=50
' Kill CurrentProject.Path & "\frm_cikti.pdf" ' İsterseniz raporun pdfini silebilirsiniz
End If
End Sub
Sizin uygulayacağınızı veya öğrenmek için çaba harcayacağınızı düşünmüyorum ancak, konudan fayda sağlamak isteyen diğer arkadaşlara bir başlangıç noktası kılavuzu olması açısından referanslardan MS Word Object Library eklemek sureti ile aşağıdaki gibi bir kod kullanarak, her bir denetim ve aktarmak istediğiniz içerik paragraf, yazı tipi, font, stil, çerçeve vs gibi formatlamalar uygulayarak export etmek için kullanılır.
Private Sub Komut44_Click()
If IsNull(Me.tc_goster) Then
MsgBox "Hiç Bir Kayıt Seçilmedi"
Else
Dim wrd As Word.Application
Set wrd = New Word.Application
' wordü görmek istemiyorsanız aşağıdaki kodları kaldırabilirsiniz
wrd.Visible = True
wrd.Activate
' word dökümanı oluşturma
wrd.Documents.Add
With wrd.selection
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.InlineShapes.AddPicture "c:\....\resiminizin adı"
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.BoldRun
.Font.Size = 14
.TypeText Etiket33.Caption
.BoldRun
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.BoldRun
.Font.Size = 11
.TypeText Etiket34.Caption
.BoldRun
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 11
.TypeText Etiket2 & vbTab & [Adı ve Soyadı]
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 11
.TypeText Etiket4 & vbTab & [T C Kimlik No]
'
'
'diğer denetimler
'
'
End With
ActiveDocument.InlineShapes(1).Height = 50
ActiveDocument.InlineShapes(1).Width = 100
Set wrd = Nothing
End If
End Sub
(28/02/2024, 03:52)atoykan yazdı: Merhaba Sayın @cdenktas
- Sizi uygulamalarınız ile ilgili olarak defalarca uyardık Türkçe karakter kullanımı, denetim adlandırmalarında boşluk kullanmak vs ile ilgili ancak bu alışkanlığınızdan vazgeçmiyorsunuz. Uygulamanız baştan sona hata dolu.
- DoCmd.OutputTo acReport, "Kisi_Bilgileri", acFormatRTF, CurrentProject.Path & "\frm_cikti.rtf", True kodu her ne kadar uzantı olarak rtf alıp Rich Text Format olarak görünse de, bu kod Rich Text ve image dosyalarını Word'e export etmez. Export edilen tüm metinlerde Plain Text formatındadır.
- İstediğiniz şekilde raporu export etmek için ya pdf olarak export etmeyi tercih etmelisiniz veya Word dosyasına formatlayarak export etmeyi öğrenmelisiniz.
Sorunuza gelecek olursak öğrenme eğiliminizdeki kararlılık noksanlığından yola çıkarak en basit yol olark önerim, raporunuzu önce pdf olarak export edip sonra worde çevirmeniz olacaktır. Aşağıda buna uygun örnek kod mevcut.
Private Sub Komut44_Click()
If IsNull(Me.tc_goster) Then
MsgBox "Hiç Bir Kayıt Seçilmedi"
Else
DoCmd.OutputTo acOutputReport, "Kisi_Bilgileri", acFormatPDF, CurrentProject.Path & "\frm_cikti.pdf", False ' Raporu önce PDF olarak kaydedin
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True ' Word uygulamasını ekrana getirir. False yaparsanız görünmez.
Dim doc As Object
Set doc = WordApp.Documents.Add(CurrentProject.Path & "\frm_cikti.pdf") ' Rapor pdfini Word'e dönüştürün
' Eğer resimler Word belgesine doğru bir şekilde eklenmediyse manuel olarak aşağıdaki gibi ekleyebilirsiniz.
' doc.Shapes.AddPicture "DosyaYolu\ResimDosyasi.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=100, Top:=100, Width:=50, Height:=50
' Kill CurrentProject.Path & "\frm_cikti.pdf" ' İsterseniz raporun pdfini silebilirsiniz
End If
End Sub
Sizin uygulayacağınızı veya öğrenmek için çaba harcayacağınızı düşünmüyorum ancak, konudan fayda sağlamak isteyen diğer arkadaşlara bir başlangıç noktası kılavuzu olması açısından referanslardan MS Word Object Library eklemek sureti ile aşağıdaki gibi bir kod kullanarak, her bir denetim ve aktarmak istediğiniz içerik paragraf, yazı tipi, font, stil, çerçeve vs gibi formatlamalar uygulayarak export etmek için kullanılır.
Private Sub Komut44_Click()
If IsNull(Me.tc_goster) Then
MsgBox "Hiç Bir Kayıt Seçilmedi"
Else
Dim wrd As Word.Application
Set wrd = New Word.Application
' wordü görmek istemiyorsanız aşağıdaki kodları kaldırabilirsiniz
wrd.Visible = True
wrd.Activate
' word dökümanı oluşturma
wrd.Documents.Add
With wrd.selection
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.InlineShapes.AddPicture "c:\....\resiminizin adı"
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.BoldRun
.Font.Size = 14
.TypeText Etiket33.Caption
.BoldRun
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.BoldRun
.Font.Size = 11
.TypeText Etiket34.Caption
.BoldRun
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 11
.TypeText Etiket2 & vbTab & [Adı ve Soyadı]
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 11
.TypeText Etiket4 & vbTab & [T C Kimlik No]
'
'
'diğer denetimler
'
'
End With
ActiveDocument.InlineShapes(1).Height = 50
ActiveDocument.InlineShapes(1).Width = 100
Set wrd = Nothing
End If
End Sub
Merhabalar, emeğinize sağlık belki dediğniz için çok aktif olarak çaba harcamıyorum ama sizler sayesinde elimden geleni yapmaya çaışıyorum. Unvanım istatistikçi çok fazla
Excel haşır neşir olmaktayım ama bazen biriminde arkadaşlara kolaylık olsun diye
Access el atıyorum.
Sizin yollamış olduğunuz kodu accese yerleştirdiğimde pdf kısmı atıyor (Çizgiler halinde) ama word olmuyor. [img]
(28/02/2024, 09:21)cdenktas yazdı: (28/02/2024, 03:52)atoykan yazdı: Merhaba Sayın @cdenktas
- Sizi uygulamalarınız ile ilgili olarak defalarca uyardık Türkçe karakter kullanımı, denetim adlandırmalarında boşluk kullanmak vs ile ilgili ancak bu alışkanlığınızdan vazgeçmiyorsunuz. Uygulamanız baştan sona hata dolu.
- DoCmd.OutputTo acReport, "Kisi_Bilgileri", acFormatRTF, CurrentProject.Path & "\frm_cikti.rtf", True kodu her ne kadar uzantı olarak rtf alıp Rich Text Format olarak görünse de, bu kod Rich Text ve image dosyalarını Word'e export etmez. Export edilen tüm metinlerde Plain Text formatındadır.
- İstediğiniz şekilde raporu export etmek için ya pdf olarak export etmeyi tercih etmelisiniz veya Word dosyasına formatlayarak export etmeyi öğrenmelisiniz.
Sorunuza gelecek olursak öğrenme eğiliminizdeki kararlılık noksanlığından yola çıkarak en basit yol olark önerim, raporunuzu önce pdf olarak export edip sonra worde çevirmeniz olacaktır. Aşağıda buna uygun örnek kod mevcut.
Private Sub Komut44_Click()
If IsNull(Me.tc_goster) Then
MsgBox "Hiç Bir Kayıt Seçilmedi"
Else
DoCmd.OutputTo acOutputReport, "Kisi_Bilgileri", acFormatPDF, CurrentProject.Path & "\frm_cikti.pdf", False ' Raporu önce PDF olarak kaydedin
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True ' Word uygulamasını ekrana getirir. False yaparsanız görünmez.
Dim doc As Object
Set doc = WordApp.Documents.Add(CurrentProject.Path & "\frm_cikti.pdf") ' Rapor pdfini Word'e dönüştürün
' Eğer resimler Word belgesine doğru bir şekilde eklenmediyse manuel olarak aşağıdaki gibi ekleyebilirsiniz.
' doc.Shapes.AddPicture "DosyaYolu\ResimDosyasi.jpg", LinkToFile:=False, SaveWithDocument:=True, Left:=100, Top:=100, Width:=50, Height:=50
' Kill CurrentProject.Path & "\frm_cikti.pdf" ' İsterseniz raporun pdfini silebilirsiniz
End If
End Sub
Sizin uygulayacağınızı veya öğrenmek için çaba harcayacağınızı düşünmüyorum ancak, konudan fayda sağlamak isteyen diğer arkadaşlara bir başlangıç noktası kılavuzu olması açısından referanslardan MS Word Object Library eklemek sureti ile aşağıdaki gibi bir kod kullanarak, her bir denetim ve aktarmak istediğiniz içerik paragraf, yazı tipi, font, stil, çerçeve vs gibi formatlamalar uygulayarak export etmek için kullanılır.
Private Sub Komut44_Click()
If IsNull(Me.tc_goster) Then
MsgBox "Hiç Bir Kayıt Seçilmedi"
Else
Dim wrd As Word.Application
Set wrd = New Word.Application
' wordü görmek istemiyorsanız aşağıdaki kodları kaldırabilirsiniz
wrd.Visible = True
wrd.Activate
' word dökümanı oluşturma
wrd.Documents.Add
With wrd.selection
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.InlineShapes.AddPicture "c:\....\resiminizin adı"
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.BoldRun
.Font.Size = 14
.TypeText Etiket33.Caption
.BoldRun
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.BoldRun
.Font.Size = 11
.TypeText Etiket34.Caption
.BoldRun
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 11
.TypeText Etiket2 & vbTab & [Adı ve Soyadı]
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 11
.TypeText Etiket4 & vbTab & [T C Kimlik No]
'
'
'diğer denetimler
'
'
End With
ActiveDocument.InlineShapes(1).Height = 50
ActiveDocument.InlineShapes(1).Width = 100
Set wrd = Nothing
End If
End Sub
Merhabalar, emeğinize sağlık belki dediğniz için çok aktif olarak çaba harcamıyorum ama sizler sayesinde elimden geleni yapmaya çaışıyorum. Unvanım istatistikçi çok fazla Excel haşır neşir olmaktayım ama bazen biriminde arkadaşlara kolaylık olsun diye Access el atıyorum.
Sizin yollamış olduğunuz kodu accese yerleştirdiğimde pdf kısmı atıyor (Çizgiler halinde) ama word olmuyor. [img]
[img]
[/img]
Kod denediğimde bende sorunsuz çalışıyor. Word uygulamanızın tamamen kapalı olduğundan emin olun öncelikle. Uygulamanız özelinde Runtime Error: 5132 genelde wordünüz ve pdf uygulamanız uyumsuz ise ortaya çıkabilir. Kodun hata veren kısmında Documents.Add yerine Documents.Open kullanılabilir. İlgili kısmı aşağıdaki şekilde revize edip deneyin.
Set doc = WordApp.Documents.Open(CurrentProject.Path & "\frm_cikti.pdf") ' Rapor pdfini Word'e dönüştürün
End If den sonrasına da
WordApp.Quit
Set WordApp = Nothing
kodunu ekleyin.