Skip to main content

#EvdeKal


Yazdırma Mantığını Yazıcıya Değil Pdf Olarak Ayrı Ayrı Yazdırılabilir Mi?

Yazdırma Mantığını Yazıcıya Değil Pdf Olarak Ayrı Ayrı Yazdırılabilir Mi?

#25
(16/02/2020 17:55)berduş Adlı Kullanıcıdan Alıntı: Dosyanızı da eklerseniz uygun zamanda incelemeye çalışırız.
Dosyaları ekledim, toplu PDF almada sayfanın altı ve sağ tarafı eksik çıkıyor. PDF tek tek normal gözüküyor ve normal yazdırıyor. Ayrıca dosyayı kaydedeceğim yer olarak da D:\Daimi klasörü olarak siz uğraşın demişseniz de bir türlü yapamadım. Bu mesajı yazdıktan sonra şu şekilde makroyu çözdüm saygılarımla.

Kod:
TmpSHdf.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "D:\Daimi\" & ilk & "_" & son & "_Arası Daimi Arama.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

.rar Daimi.rar (Dosya Boyutu: 785,54 KB | İndirme Sayısı: 2)
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 16/02/2020, 22:49, Düzenleyen: yyhy.
Cevapla
#26
aslında normal Excel sayfasında bile sayfa genişliğiniz sınırı geçiyor o nedenle fazladan düzenlemeye ihtiyaç duyuluyor.
(tek tek yazdırırken neden sorun çıkarmıyor bilmiyorum belki de tek sayfalar için standart şablonu vardır)
eklediğim kodlar genel olarak sayfa düzenlemeye yönelik
ayrıca 01 sayfasındaki satır sayısını önceden 55 iken şimdi 58 dolayısıyla 01 adlı sayfada yapacağınız her değişiklik - sütun genişlikleri, satır yükseklikler yada sayfadaki hücre sayısı - yeni sorunlar çıkarabilir ince ayar gerekebilir

Visual Basic Code
With TmpSHdf.PageSetup
    .Orientation = xlPortrait
    .Zoom = False
    .FitToPagesTall = False
    .FitToPagesWide = 1
End With

tümünü tek dosyaya yazdırma kodu:

Visual Basic Code
Sub otoTopluPDF()
Baslik$ = "Yazdır."
Mesaj$ = "Belirlenen sayıya kadar yazdırılacak, Onaylıyormusunuz?"
cevap$ = MsgBox(Mesaj$, 4 + 32 + 0, Baslik$)
If cevap$ = 6 Then
Dim ilk As Integer
Dim son As Integer
Dim SonStr, SyfStr As Long
Dim S1 As Worksheet
Dim S2 As Worksheet
Dim TmpSHdf As Worksheet

Set S1 = Sheets("Sorgu")
Set S2 = Sheets("01")
SyfStr = 58 ' bu sayı bir sayfa kaç satırdan oluşuyor onu belirtir, değerini siz belirlersiniz
'hy______________________________________
Application.ScreenUpdating = False
On Error GoTo ErrorHandler:
ThisWorkbook.Worksheets.Add.Name = "TmpSHdf"
Set TmpSHdf = Sheets("TmpSHdf")
ilk = S1.Range("E11").Value
son = S1.Range("J11").Value
SonStr = 0

For i = ilk To son
    S1.Range("E3").Value = i
    S2.Range("A1:BB58").Copy
    TmpSHdf.Range("A" & SonStr * SyfStr + 1).PasteSpecial xlPasteFormats
    TmpSHdf.Range("A" & SonStr * SyfStr + 1).PasteSpecial xlPasteValuesAndNumberFormats
    SonStr = SonStr + 1
Next
S2.Range("A1:BB58").Copy
TmpSHdf.Range("A" & SonStr * SyfStr + 1).PasteSpecial xlPasteColumnWidths

With TmpSHdf.PageSetup
.Orientation = xlPortrait
.Zoom = False
.FitToPagesTall = False
.FitToPagesWide = 1
End With

TmpSHdf.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "D:\Daimi\" & ilk & "_" & son & "_Arası Daimi Arama.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
        'S2.PrintOut Copies:=1, Collate:=True

Application.DisplayAlerts = False
TmpSHdf.Delete
Application.DisplayAlerts = True

ErrorHandler:
Application.ScreenUpdating = True

'hy______________________________________
MsgBox "Yazdırma İşlemi Gerçekleştirildi.", vbInformation, "Hazırlayan; Adli Büro "
End If

.rar Daimi 2020_hy.rar (Dosya Boyutu: 258,6 KB | İndirme Sayısı: 5)
Cevapla
#27
Konuyu tam okuyamadım lakin videodaki gibi sayfayı ayalayabilirsiniz.

Cevapla
#28
Sayın berduş çok teşekkür ederim. 40 sayfa dijital olarak gönderdim. Sorunsuz bir şekilde çalışıyor. İlk verdiğiniz kod ne için onu anlayamadım. 
With TmpSHdf.PageSetup
    .Orientation
= xlPortrait
    .Zoom
= False
    .FitToPagesTall
= False
    .FitToPagesWide
= 1

End With
(Bu bölüm ) emeğiniz çok geçti teşekkür ederim. Ellerinz dert görmesin.
Sayın feraz a da eklemiş olduğu eğitim video su için teşekkür ederim. Önizlemeden baktım, yazdır bölümündeki son yazdırma ayarları ve alt üst boşluklar hepsini yaptım. Normal a4 kağıda çıktı alıyordum. Pdf olarak yazdırmada sorunum vardı. 5 bin  6. bin sayfalık tek bir pdf yapmayı düşünüyorum. İnşallah hatasız hallederim. Son berduş bey'in attığı kod ile neticelendirdim. İnşallah sorunsuz kaydetmeyi başarırım.
Cevapla
#29
(17/02/2020 20:57)yyhy Adlı Kullanıcıdan Alıntı: İlk verdiğiniz kod ne için onu anlayamadım. 
With TmpSHdf.PageSetup
    .Orientation
= xlPortrait
    .Zoom
= False
    .FitToPagesTall
= False
    .FitToPagesWide
= 1

End With
Ekledigim kısmın bu olduğunu göstermek için ayrı yazdım. Zaten asıl kodun içinde var.
Cevapla
#30
Cevaplanmışlara taşıyalım mı?
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task