Userform yaziciya yazdirmak

Katılım
2 Mayıs 2006
Mesajlar
226
Excel Vers. ve Dili
office 2003
Almanca
slm

" Userform1.PrintForm" bu kodla userform u nasil ne hangi boyutlarda yazdirabiliyoruz.

demek istededigim userformda ne varsa onu yazdirabilirmiyiz.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
sayın levent bey 2 nolu mesajda verdiğiniz link "userformu yatay yazdırma" ya ulaşılamıyor.
Yeni konu açmak yerine forumda araştırdım burayı buldum, benim de userformu yatay yazdırmam gerek çünkü düşey olunca sığmıyor.
Acaba yatay nasıl yazdırabilirim ,teşekkürler
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Korhan Hocam verdiğiniz linkin çoğuna ben bakmıştım ,bakmadığım birkaç tanesine de baktım .Maalesef ,istediğim userformu yatay yazdırabilmek
sanki levent beyin yukarıdaki linki bana çözüm müş gibi geliyor . Yine de dönüşünüz için teşekkürler..
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki kodu deneyiniz.
Form resim olarak Sayfa1 adlı sayfaya kopyalanıp yazdırılıyor.

Kod:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
    ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const VK_SNAPSHOT = 44
Const VK_LMENU = 164
Const KEYEVENTF_KEYUP = 2
Const KEYEVENTF_EXTENDEDKEY = 1


Private Sub CommandButton1_Click()
    Dim syf As Worksheet
    Set syf = Worksheets("Sayfa1")
   DoEvents

   Application.ScreenUpdating = False

   keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
   keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
   keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
   keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0

   DoEvents

   Application.Wait Now + TimeValue("00:00:01")
   syf.Paste

   With syf.PageSetup
        .Orientation = xlLandscape
      .LeftHeader = ""
      .CenterHeader = ""
      .RightHeader = ""
      .LeftFooter = ""
      .CenterFooter = ""
      .RightFooter = ""
      .LeftMargin = Application.InchesToPoints(0.75)
      .RightMargin = Application.InchesToPoints(0.75)
      .TopMargin = Application.InchesToPoints(1)
      .BottomMargin = Application.InchesToPoints(1)
      .HeaderMargin = Application.InchesToPoints(0.5)
      .FooterMargin = Application.InchesToPoints(0.5)
      .PrintHeadings = False
      .PrintGridlines = False
      .PrintComments = xlPrintNoComments

      '// One or more properties may not be available
      ' .PrintQuality = 300

      .CenterHorizontally = True
      .CenterVertically = True
      .Orientation = xlLandscape
      .Draft = False
      .PaperSize = xlPaperA4
      .FirstPageNumber = xlAutomatic
      .Order = xlDownThenOver
      .BlackAndWhite = False
      .Zoom = False
      .FitToPagesWide = 1
      .FitToPagesTall = 1
   End With
   syf.PrintOut Copies:=1

   Application.ScreenUpdating = True
End Sub
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Slm,
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
bu kod hata veriyor .? Muzaffer Ali by
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Korhan Hocam verdiğiniz linkin çoğuna ben bakmıştım ,bakmadığım birkaç tanesine de baktım .Maalesef ,istediğim userformu yatay yazdırabilmek
sanki levent beyin yukarıdaki linki bana çözüm müş gibi geliyor . Yine de dönüşünüz için teşekkürler..
Benim paylaştığım linkteki ilk başlık Levent beyin paylaştığı başlıktır..
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Slm,
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
bu kod hata veriyor .? Muzaffer Ali by
O kısmı aşağıdaki ile değiştirin.
Kod:
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
    ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Sn Muzaffer Ali desteğiniz için çok teşekkürler evet istediğim buydu , Yalnız bir sorum daha olacak müsaadenizle , çıktıyı yatay olarak alıyorum fakat A4 kağıdında boş yer fazla boyut ayarını nasıl yapabilirim ?
Sn Korhan Ayhan verdiğiniz ilk link dediğiniz gibiymiş artı Muzaffer Ali nin şu an bana önerdiği de o linkin içinde detaylı olarak açıklan mış , gerçekten bakmıştım ama hızlımı baktım gözdenmi kaçırdım bilmiyorum . hoşgörünüze sığınarak tekrar teşekkürler ...
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kod:
syf.PrintOut Copies:=1
Bu satır yazıcıya gönderiyor.
Bu satırı silip Excel sayfasında istediğiniz gibi ayarlama yaptıktan sonra yazdırabilirsiniz.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Muzaffer bey dediğiniz satırı sildim ve yazdır butonuna bastım.
Excel sayfasından ayarlama yapmak için beni yönlendirecek hiç bir şey olmadı o yüzden ayar yapamıyorum.
Muzaffer Ali ,deneme yanılma derken ayarlamayı buldum ve yaptım .çok teşekkürler ...
 
Son düzenleme:
Üst