• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

exelden makroyla worde veri atma

  • Konbuyu başlatan Konbuyu başlatan bars.1
  • Başlangıç tarihi Başlangıç tarihi
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.
 
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...
 
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.
 
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
 
çok teşekkür ederim tam istediğim gibi oldu ellerinize sağlık
 
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
 
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
 
Geri
Üst