• DİKKAT

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

pdf olarak kaydetme

Katılım
26 Nisan 2019
Mesajlar
161
Excel Vers. ve Dili
Excel 2019 64 bit Tr
Ekteki dosyada öğrencilerim için hazırladığım toplama işlemi şablonu var. F9 tuşu ile alıştırmaları yenileyip yazıcıya gönderiyorum. bu da vakit alıyor. alıştırma sayfasını otomatik yenileyip farklı sayfalar halinde 100 defa çoğaltacak ve hepsini bir pdf dosyasına yazdıracak makro yazılabilir mi? Teşekkür ederim.
 

Ekli dosyalar

Sizin için dosyanın pdf olarak kaydedilmesi mi önemli yoksa sayfanın yenilenip ayrı ayrı yazdırılması mı önemli?
 
Sizin için dosyanın pdf olarak kaydedilmesi mi önemli yoksa sayfanın yenilenip ayrı ayrı yazdırılması mı önemli?
İkisi de. Pdf dosyası elimde olmayınca derste projeksiyon ile sunum yapmak mümkün olmuyor. ama önceliğim pdf oluşması çünkü pdf yi toplu yazdırmak mümkün.
 
Aşağıdaki makroyu deneyin:

Kod:
Sub yaz()
On Error GoTo 10
Dim yol As String
yol = Application.ThisWorkbook.Path
ChDir yol

adet = InputBox("Kaç farklı sayfa hazırlansın?")
kopya = InputBox("Her sayfa kaç kere yazdırılsın?")
With ActiveSheet.PageSetup
    .FitToPagesWide = 1
    .FitToPagesTall = 1
End With

For i = 1 To adet
    Calculate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        yol & "\02-mat alt alta toplama " & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") & Format(i, "000") & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
    ActiveWindow.SelectedSheets.PrintOut Copies:=kopya, Collate:=True, _
        IgnorePrintAreas:=False
Next
Exit Sub
10:
MsgBox "Lütfen sayısal veriler kullanınız!" & Chr(10) & Chr(10) & "İşlem tamamlanmadı"
End Sub
 
Son düzenleme:
Aşağıdaki makroyu deneyin:

Kod:
On Error GoTo 10
Dim yol As String
yol = Application.ThisWorkbook.Path
ChDir yol

adet = InputBox("Kaç farklı sayfa hazırlansın?")
kopya = InputBox("Her sayfa kaç kere yazdırılsın?")
With ActiveSheet.PageSetup
    .FitToPagesWide = 1
    .FitToPagesTall = 1
End With

For i = 1 To adet
    Calculate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        yol & "\02-mat alt alta toplama " & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") & Format(i, "000") & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
    ActiveWindow.SelectedSheets.PrintOut Copies:=kopya, Collate:=True, _
        IgnorePrintAreas:=False
Next
Exit Sub
10:
MsgBox "Lütfen sayısal veriler kullanınız!" & Chr(10) & Chr(10) & "İşlem tamamlanmadı"
End Sub

Makroyu bir türlü dosyaya entegre edemedim. Dosyaya ekleyerek yardımcı olmanız mümkün mü? Minettarım.
 
Kodun başında sub yaz() satırını unutmuşum, yukarda düzeltme yaptım.

Dosyaya eklemek için kodları kopyalayın.
Dosyanızda Alt+F11 yaparak ya da sayfa adına sağ tıklayıp Kod görüntüle diyerek VBA sayfasını açın
Açılan sayfada üstte Insert menüsünden Module'yi seçin
Kopyalanan veriyi açılan boş sayfaya yapıştırın
Excel sayfasına geçip sayfaya bir düğme/nesne/resim ekleyin
Eklediğiniz şeye sağ tıklayıp Makro ata deyin
Açılan menüde yaz makrosunu seçip işlemi tamamlayın
Artık o şeye tıkladığınızda makro çalışacaktır.
 
Kodun başında sub yaz() satırını unutmuşum, yukarda düzeltme yaptım.

Dosyaya eklemek için kodları kopyalayın.
Dosyanızda Alt+F11 yaparak ya da sayfa adına sağ tıklayıp Kod görüntüle diyerek VBA sayfasını açın
Açılan sayfada üstte Insert menüsünden Module'yi seçin
Kopyalanan veriyi açılan boş sayfaya yapıştırın
Excel sayfasına geçip sayfaya bir düğme/nesne/resim ekleyin
Eklediğiniz şeye sağ tıklayıp Makro ata deyin
Açılan menüde yaz makrosunu seçip işlemi tamamlayın
Artık o şeye tıkladığınızda makro çalışacaktır.

Çok teşekkür ederim. Sanal yazıcı ile pdf olarak yazdırabildim. Elinize sağlık!
 
Geri
Üst