exelden makroyla worde veri atma

Katılım
28 Mart 2020
Mesajlar
15
Excel Vers. ve Dili
exel vba
Arkadaşlar öncelikle herkese iyi günler kolay gelsin. Kendimi geliştirmek ve adli kolluk olarak işlerime yardımcı olması amacıyla exel makro vba kodları öğrenmeye çalışıyorum. Exelden bir tabloyu worde atmak istiyorum ve bunu başardım da ancak exelde yazı tipi times new roman yazı puntosunu 12 yapıyorum worde makroyla yazdırınca bunlar değişiyor. İlk sorum bunun sebebi ne olabilir ilgilenen arkadaş olursa yazdığım kodu burada paylaşabilirim. ikini sorum ise exel makro ile word sayfa yapısını ayarlayabilir miyiz? kenar boşlukları vs.
 

katip16487

Altın Üye
Katılım
28 Haziran 2007
Mesajlar
168
Excel Vers. ve Dili
OFFİCE 2016 (Türkçe)
Altın Üyelik Bitiş Tarihi
17-03-2025
Excel ve Word bağlantılı çalışacaksanız,
Excel'i veri tabanı olarak ayarladıktan sonra veriler ADRES MEKTUP BİRLEŞTİRME yöntemini kullanarak WORD'e aktarabilirsiniz? Yapmak istediğiniz tam olarak nedir...
 
Katılım
28 Mart 2020
Mesajlar
15
Excel Vers. ve Dili
exel vba
fName = Application.InputBox("yeni", "yasin")
If fName = 1 Then
ActiveSheet.Name = fName
Range("A1:ı25").Copy
Set objword = CreateObject("Word.Application")
objword.Visible = True
Set MyDoc = objword.Documents.Add(DocumentType:=wdNewBlankDocument)
objword.Selection.PasteSpecial Link:=False, DataType:=10
objword.activedocument.SaveAs "C:" & fName & ".doc"
End If
bu kodla veriyi aktarmayı başardım ancak sayfa düzenini ayarlamakta zorluk çekiyorum. Exelde New Times Roman 12 punto yazı yazmam rağmen worde aktarınca değilşiyordu, worde varsayılan ayarlarını değiştirerek onu çözdüm. şuan akılımda ki sorular 1 kenar boşluklarını nasıl ayarlayabilirim, 2 wordde aktarırken mesela 3. sayfaya aktarılmasını istiyorum onu nasıl ayarlayabillirim. Biraz bakındım ama pek işime yarar birşeyler bulamadım, ilginiz için teşekkür ediyorum.
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Kenar boşlukları için;
Kodunuzun objword.Selection.PasteSpecial Link:=False, DataType:=10 satırından sonra aşağıdaki kodu eklerseniz her taraftan 1 cm boşluk bırakır. Parantez içindeki (1) değerlerini ihtiyacınıza göre değiştiriniz.
Kod:
With objword.ActiveDocument.PageSetup
.TopMargin = objword.CentimetersToPoints(1) ' üstten boşluk
        .BottomMargin = objword.CentimetersToPoints(1) 'alttan boşluk
        .LeftMargin = objword.CentimetersToPoints(1) 'soldan boşluk
        .RightMargin = objword.CentimetersToPoints(1) 'sağdan boşluk
End With
 
Katılım
28 Mart 2020
Mesajlar
15
Excel Vers. ve Dili
exel vba
çok teşekkür ederim tam istediğim gibi oldu ellerinize sağlık
 
Katılım
28 Mart 2020
Mesajlar
15
Excel Vers. ve Dili
exel vba
birde bu kodla oluşturduğum Word sayfasının 2 veya 3. sayfadan geçerli yaz tarzı bir vba makro kodu var mı acaba, bu kodla ben yazdırdığım zaman word ü açıp 1. sayfadan itibaren yazmaya başlıyor
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Aşağadaki kodu Set MyDoc = objword.Documents.Add(DocumentType:=wdNewBlankDocument) kodunun altına yazarsanız 2. sayfayı oluşturur. Aynı kodu tekrar altına çoğaltırsanız 3. sayfayı oluşturacaktır.
Kod:
objword.Selection.InsertBreak
 
Üst