Word'a Excel Sayfasini Aktama

Katılım
18 Mayıs 2007
Mesajlar
115
Excel Vers. ve Dili
2003
Merhabalar dosyada günlük 1 ve günlük 2 sayfalarım var. userform üzerinde 2 tane buton yaptım. Günlüklerimi word sayfasına aktarmak istiyorum. Böylece günlüklerimi depolamış olurum. userform üzerinde günlük 1'i word'a aktar butonu ile günlük2yi worda aktar butonu var. şimdi ikisinden birine tıkladığım zaman ilgili günlüğün excel sayfasına yapışsın, istiyorum. Bana yardım ederseniz sevinirim.
 
Katılım
18 Mayıs 2007
Mesajlar
115
Excel Vers. ve Dili
2003
bu işin çözümü yok mu? Lütfen yardım ediniz?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
USERFORMA
Kod:
Private Sub CommandButton1_Click()
Worksheets("GÜNLÜK1").Range("A3:j81").Copy
Call SeciliAlaniWordeYapistir(42.55, 42.55, 25, 25, False)
Unload Me
End Sub

Private Sub CommandButton2_Click()
Worksheets("GÜNLÜK2").Range("A3:G68").Copy
Call SeciliAlaniWordeYapistir(42.55, 42.55, 25, 25, False)
Unload Me
End Sub
MODULE
Kod:
Sub SeciliAlaniWordeYapistir(ust, alt, sol, sag As Integer, yon As Boolean)
'A4 sayfası
Application.ScreenUpdating = True
    'Range("A1:L5" & SnDlSt + 7).Copy
    Set objword = CreateObject("Word.Application")
    Set Mydoc = objword.Documents.Add(DocumentType:=wdNewBlankDocument)
    objword.Visible = True
    
    With Mydoc.PageSetup
        .TopMargin = ust '42.55
        .BottomMargin = alt    '42.55
        .LeftMargin = sol     '25#
        .RightMargin = sag    '25#
        If yon = True Then
            .PageWidth = 595.35 'CentimetersToPoints(21)     'dikey
            .PageHeight = 841.95 'CentimetersToPoints(29,7)  'dikey
        Else
            .PageWidth = 841.95 'CentimetersToPoints(29.7)   'yataysayfa
            .PageHeight = 595.35 'CentimetersToPoints(21)    'yataysayfa
        End If
    End With
    objword.Selection.PasteSpecial Link:=False, DataType:=10
    Application.CutCopyMode = False
Set objword = Nothing:      Set Mydoc = Nothing
Application.ScreenUpdating = False
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Rica ederim.
bu arada sayfa adı "Günlük 2" değil "Günlük2" olacak.
 
Katılım
18 Mayıs 2007
Mesajlar
115
Excel Vers. ve Dili
2003
Sayın hsayar, kodları da yapıştırdım. Ama bu sefer de word sayfasında düzensiz duruyor. BUnu da halledebilir miyiz?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
halledemeyiz çünkü dikey sayfada gözükmüyor yatay sayfada bol geliyor... onu siz exceldeki sayfanın sütun genişlkikleirni ayarlayarak yapabilirsiniz
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Şöyle Deneyin
MODULE
Kod:
Sub SeciliAlaniWordeYapistir(ust, alt, sol, sag As Integer, yon, kapat As Boolean, kytAd)
'Excel.web.tr/Hsayar
'(ust: Üst Kenar Boşluğu, alt: Kenar Boşluğu, sol: Kenar Boşluğu, sag: Üst Kenar Boşluğu
'yon: Dikey ise True, Yatay ise False
'kapat: Kapatılacak ise True, Kapatılmayacak ise False
'kytAd: Dosyanın kaydedileceği ad
Application.ScreenUpdating = True
    Dim objword As Object
    Set objword = CreateObject("Word.Application")
    Set Mydoc = objword.Documents.Add(DocumentType:=wdNewBlankDocument)
    objword.Visible = True
    
    With Mydoc.PageSetup
        .TopMargin = ust '42.55
        .BottomMargin = alt    '42.55
        .LeftMargin = sol     '25#
        .RightMargin = sag    '25#
        If yon = True Then
            .PageWidth = 595.35 'CentimetersToPoints(21)     'dikey
            .PageHeight = 841.95 'CentimetersToPoints(29,7)  'dikey
        Else
            .PageWidth = 841.95 'CentimetersToPoints(29.7)   'yataysayfa
            .PageHeight = 595.35 'CentimetersToPoints(21)    'yataysayfa
        End If
    End With
    objword.Selection.PasteSpecial Link:=False, DataType:=10
    Application.CutCopyMode = False
    
    If kytAd <> "" Then
       With objword
            .ActiveDocument.SaveAs kytAd
            If kapat = True Then
                .ActiveDocument.Close
                .Quit
            End If
        End With
    End If
Set objword = Nothing:      Set Mydoc = Nothing
Application.ScreenUpdating = False
End Sub
USERFORMA
Kod:
Private Sub CommandButton1_Click()
ThisWorkbook.Worksheets("G&#220;NL&#220;K1").Activate
ThisWorkbook.Worksheets("G&#220;NL&#220;K1").Range("A3:j81").Copy
strAd = ThisWorkbook.Path & "\" & ActiveSheet.Name & "-" & Format(Now, "dd-mm-yy h-mm-ss") & ".doc"
Call SeciliAlaniWordeYapistir(42.55, 42.55, [B][color="red"]25, 25[/color][/B],False, True, strAd)

Unload Me
End Sub

Private Sub CommandButton2_Click()
ThisWorkbook.Worksheets("G&#220;NL&#220;K2").Activate
ThisWorkbook.Worksheets("G&#220;NL&#220;K2").Range("A3:g68").Copy
strAd = ThisWorkbook.Path & "\" & ActiveSheet.Name & "-" & Format(Now, "dd-mm-yy h-mm-ss") & ".doc"
Call SeciliAlaniWordeYapistir(42.55, 42.55, [B][color="red"]25, 25[/color][/B], False, True, strAd)
Unload Me
End Sub
yap&#305;&#351;t&#305;r&#305;n daha sonra
25, 25
alanlar&#305;n&#305; art&#305;rark deneyin tabloyu ortalars&#305;n&#305;z
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
G&#252;nl&#252;k2 i&#231;in a&#351;a&#287;&#305;daki gibi fena olmad&#305; ama s&#252;tun geni&#351;likerini biraz k&#305;sarsan&#305;z dikey sayfayada oturur ozaman 1. falseyi de true yapman&#305;z gerekir
Kod:
Private Sub CommandButton2_Click()
ThisWorkbook.Worksheets("G&#220;NL&#220;K2").Activate
ThisWorkbook.Worksheets("G&#220;NL&#220;K2").Range("b3:g68").Copy
strAd = ""
strAd = ThisWorkbook.Path & "\" & ActiveSheet.Name & "-" & Format(Now, "dd-mm-yy h-mm-ss") & ".doc"
Call SeciliAlaniWordeYapistir(42.55, 42.55, 115, 115, False, True, strAd)
Unload Me
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Call SeciliAlaniWordeYapistir(42.55, 42.55, 115, 115, False, True, strAd)
bu hale getirtiniz ve hata ald&#305;n&#305;z bende do&#287;ru &#231;al&#305;&#351;&#305;yordu virg&#252;llere dikkat edin

bu arada eski kodlar&#305;n t&#252;m&#252;n&#252; silin ve 9. mesajdaki kodlar&#305; yap&#305;&#351;t&#305;r&#305;n.
CommandButton2_Click() olay&#305;n&#305;da 10.mesajdaki gibi de&#287;i&#351;tirin.
 
Katılım
18 Mayıs 2007
Mesajlar
115
Excel Vers. ve Dili
2003
evet &#351;imdi oldu. Ama excellde &#246;nizlemede benim g&#252;nl&#252;k1 iki sayfada g&#246;z&#252;k&#252;yor ve g&#252;nl&#252;k 2de ise tek sayfada g&#246;z&#252;k&#252;yor. Sorun worde yap&#305;&#351;t&#305;r&#305;nca bu &#246;nizlemedeki gibi kalm&#305;yor.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Call SeciliAlaniWordeYapistir(42.55, 42.55, 115, 115, False, True, strAd)

42.55 de&#287;erlerini k&#252;&#231;&#252;lt&#252;n alt ve &#252;st kenar bo&#351;luklar&#305;n&#305; ifade eder bunlar
 
Katılım
18 Mayıs 2007
Mesajlar
115
Excel Vers. ve Dili
2003
&#199;ok Te&#350;ekk&#220;r Ett&#304;m. B&#304;r&#304;nc&#304; G&#220;nl&#220;&#286;&#220; Ayarladim, &#304;k&#304;nc&#304; G&#220;nl&#220;&#286;&#220; False TRUE Yaptim Yan&#304; D&#304;key Yaptim. B&#304;r&#304;nc&#304;s&#304; Tamam &#304;k&#304;nc&#304; G&#220;nl&#220;k Ne Yaptimsa Olmadi. Hsayar Yardimlariniz &#304;&#199;&#304;n Te&#350;ekk&#220;r Ett&#304;m
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
ikinci g&#252;nl&#252;&#287;&#252;n s&#252;tun geni&#351;liklerini hafif k&#305;s&#305;n cdef uygun gibi gelmi&#351;ti bana
 
Katılım
18 Mayıs 2007
Mesajlar
115
Excel Vers. ve Dili
2003
hsayar hocam ilginize te&#351;ekk&#252;r ederim. yanlar&#305;n&#305; biraz k&#305;st&#305;m. ama iki sayfada &#231;&#305;k&#305;yor. oysa sayfa excellde tek sayfa g&#246;z&#252;k&#252;yor. &#304;&#351;te problem burada ba&#351;l&#305;yor
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hsayar hocam ilginize te&#351;ekk&#252;r ederim. yanlar&#305;n&#305; biraz k&#305;st&#305;m. ama iki sayfada &#231;&#305;k&#305;yor. oysa sayfa excellde tek sayfa g&#246;z&#252;k&#252;yor. &#304;&#351;te problem burada ba&#351;l&#305;yor

az &#246;nce bakt&#305;mda g&#252;nl&#252;k2 sayfas&#305; &#37;85 olarak orant&#305;lanm&#305;&#351;. ve ka&#287;&#305;t boyutunu %100 yap&#305;nca d&#246;rt sayfada &#231;&#305;k&#305;yor.
excelden worde kopyalamy&#305; %100 boyutlu yap&#305;yor...
orant&#305;layarak tablo olark aktarman&#305;n yolu varsa bende sevinirim.

&#351;imdilik excelde sayfay&#305; %100 olarak boyutland&#305;r&#305;n ve 1 sayfaya s&#305;&#287;acak hale getirin. ve Call Secilialan&#305;wordeyap&#305;&#351;t&#305;rda kenar bo&#351;luklar&#305;n&#305; vererek makroyu tekrar &#231;a&#287;&#305;r&#305;n.

bu arada ben hoca olacak kadar excelde iyi de&#287;ilim iyi bir taklit&#231;iyim benimde bilmedi&#287;im &#231;ok &#351;ey var.
Kodun kullan&#305;m&#305;

Call SeciliAlaniWordeYapistir(42.55, 42.55, 25, 25, False, True, strAd)

42.55 &#252;st kenar bo&#351;lu&#287;u (nokta cinsinden de&#287;eri> 1,5cm)
42.55 alt kenar bo&#351;lu&#287;u (nokta cinsinden de&#287;eri> 1,5cm)
25 sol kenar bo&#351;lu&#287;u (nokta cinsinden de&#287;eri> 0,88cm)
25 sa&#287; kenar bo&#351;lu&#287;u (nokta cinsinden de&#287;eri> 0,88cm)
False dikey word sayfas&#305; i&#231;in True, Yatay &#304;&#231;in False
True Kaydedilecekse True, Kaydedilmyecekse False
strAd Kaydedilecekse Ad girilir.
 
Son düzenleme:
Üst