pdf olarak kaydetme

farisakboga

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
161
Excel Vers. ve Dili
Excel 2019 64 bit Tr
Altın Üyelik Bitiş Tarihi
29-04-2025
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

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sizin için dosyanın pdf olarak kaydedilmesi mi önemli yoksa sayfanın yenilenip ayrı ayrı yazdırılması mı önemli?
 

farisakboga

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
161
Excel Vers. ve Dili
Excel 2019 64 bit Tr
Altın Üyelik Bitiş Tarihi
29-04-2025
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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:

farisakboga

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
161
Excel Vers. ve Dili
Excel 2019 64 bit Tr
Altın Üyelik Bitiş Tarihi
29-04-2025
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 

farisakboga

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
161
Excel Vers. ve Dili
Excel 2019 64 bit Tr
Altın Üyelik Bitiş Tarihi
29-04-2025
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!
 
Üst