Soru macro ile pdf olarak kaydetme

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Arkadaşlar dosyamın ismi 2022-01--AYLIK.xlsm ve ben bu dosya üzerinden günlük olarak pdf yazıcıları ile her günün ismi ile belirtilen klasöre 2022-01-14-AYLIK.pdf isminde dosya kaydetmekteyim. 14,15,16 ise sayfanın adı ile yapmaktayım. Bunu macro ile otomatik olarak yaptırmamız mümkün müdür?
Örneğin d:\deneme klasörüne sayfanında adını 13 olduğunu varsayarak 2022-01-13-AYLIK.pdf olarak yazdırmasını istiyorum. Pdf yazıcım ise varsayılan yazıcı olarak atanmış durumdadır.
 

Ekli dosyalar

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, örnek olarak bir dosya hazırladım.
Userfom üzerinde bulunan combobox ile PDF yapmak istediğiniz sayfayı seçiniz.
 

Ekli dosyalar

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba, örnek olarak bir dosya hazırladım.
Userfom üzerinde bulunan combobox ile PDF yapmak istediğiniz sayfayı seçiniz.
Çok muhteşem olmuş hocam elinize sağlık combofix olmadan her sayfanın içinde buton olup otomatik olması yapılamaz mı sizce? 13,14,15 seçimi combofix den yapılmadan direk sayfadan yazdır butonu ile otomatik olarak 2022-01-13-AYLIK.pdf olarak kaydedecek mesela...
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Modül içerisine aşağıdaki kodları ekleyip, sayfada kullanmak istediğiniz butonlara pdf isimli bu kodu atayınız, hangi sayfadaki butona tıklarsanız o sayfayı pdf olarak kayıt eder.
Kod:
Sub pdf()
Dim yol As String, yil As Integer, ay As String, gun As String
yol = "D:\Deneme\"
yil = Year(Date)
ay = Month(Date)
gun = ActiveSheet.Name

If ay < 2 Then ay = 0 & ay

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
End Sub
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Modül içerisine aşağıdaki kodları ekleyip, sayfada kullanmak istediğiniz butonlara pdf isimli bu kodu atayınız, hangi sayfadaki butona tıklarsanız o sayfayı pdf olarak kayıt eder.
Kod:
Sub pdf()
Dim yol As String, yil As Integer, ay As String, gun As String
yol = "D:\Deneme\"
yil = Year(Date)
ay = Month(Date)
gun = ActiveSheet.Name

If ay < 2 Then ay = 0 & ay

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
End Sub
Çok teşekkürler..
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Çok teşekkürler..

hocam buna birde ebatları fazla olduğu için kalite seçeneği eklenebilir mi? Elle pdf yazıcı ile yaptırdığımda 65 kb olan dosya bu şekilde 260 kb oluyor.



'Yazıcı kalitesi
On Error Resume Next
ActiveSheet.PageSetup.PrintQuality = 50
Err.Clear
On Error GoTo 0




böyle bir kod ekledim olmuyor...Yine aynı boyutta kalıyor
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba,
Öncelikle bir düzeltme yapayım If ay < 2 Then ay = 0 & ay satırını If Len(ay) < 2 Then ay = 0 & ay şeklinde değiştiriniz.

Dosyanın pdf olması konusunda ise paylaştığım kod yazıcı ile değil de Dışa Aktar özelliği ile oluşturuyor.
233433

Bu şekilde denediğim dosyalarda boyut konusunda bir sıkıntı olmadı. Uygulama yaptığınız dosyayı paylaşmanız mümkün mü?
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba,
Öncelikle bir düzeltme yapayım If ay < 2 Then ay = 0 & ay satırını If Len(ay) < 2 Then ay = 0 & ay şeklinde değiştiriniz.

Dosyanın pdf olması konusunda ise paylaştığım kod yazıcı ile değil de Dışa Aktar özelliği ile oluşturuyor.
Ekli dosyayı görüntüle 233433

Bu şekilde denediğim dosyalarda boyut konusunda bir sıkıntı olmadı. Uygulama yaptığınız dosyayı paylaşmanız mümkün mü?
Bu sadece örnek dosya hocam. Bunda da denedim 7 kb macro yapıyor normal kullandığım Dora Pdf Writer 4 kb...
 

Ekli dosyalar

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba,
Öncelikle bir düzeltme yapayım If ay < 2 Then ay = 0 & ay satırını If Len(ay) < 2 Then ay = 0 & ay şeklinde değiştiriniz.

Dosyanın pdf olması konusunda ise paylaştığım kod yazıcı ile değil de Dışa Aktar özelliği ile oluşturuyor.
Ekli dosyayı görüntüle 233433

Bu şekilde denediğim dosyalarda boyut konusunda bir sıkıntı olmadı. Uygulama yaptığınız dosyayı paylaşmanız mümkün mü?

sizde vardır unuttum hocam birde yazdırılacak sayfa seçimi ekleyebilirmiyiz? Mesela her zaman 1 ve 2 numaralı sayfaları yazacak
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba,
Öncelikle bir düzeltme yapayım If ay < 2 Then ay = 0 & ay satırını If Len(ay) < 2 Then ay = 0 & ay şeklinde değiştiriniz.

Dosyanın pdf olması konusunda ise paylaştığım kod yazıcı ile değil de Dışa Aktar özelliği ile oluşturuyor.
Ekli dosyayı görüntüle 233433

Bu şekilde denediğim dosyalarda boyut konusunda bir sıkıntı olmadı. Uygulama yaptığınız dosyayı paylaşmanız mümkün mü?

hocam soruna bakabildinizmi?
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, dosyanızda sayfa 1 ve sayfa 2 A1 : G96 arası olan hücreler.

İlgili aralığı pdf olarak kayıt etmek için
Kod:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
bu satırı aşağıdaki satır ile değiştiriniz.
Kod:
ActiveSheet.Range("A1:G96").ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
Dosya boyutu konusunda, pdf yazıcı ile oluşturulan dosyadan boyut olarak küçük boyutlu oluşturuyor.
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba, dosyanızda sayfa 1 ve sayfa 2 A1 : G96 arası olan hücreler.

İlgili aralığı pdf olarak kayıt etmek için
Kod:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
bu satırı aşağıdaki satır ile değiştiriniz.
Kod:
ActiveSheet.Range("A1:G96").ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
Dosya boyutu konusunda, pdf yazıcı ile oluşturulan dosyadan boyut olarak küçük boyutlu oluşturuyor.

xlQualityMinimum yaparak biraz daha düşük olmasını sağladım hocam ama yine oluşturduğum pdf yazıcısına göre biraz yüksek boyutta ona da katlanacağım. Birde yazdırılan dosyayı açtırma kodunu bulacağım sonra işlem tamamdır sayenizde. Teşekkürler..
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Rica ederim.

OpenAfterPublish:=True kodu oluşturulan dosyayı açmanızı sağlar.
Kod:
ActiveSheet.Range("A1:G96").ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityMinimum, OpenAfterPublish:=True, Filename:=yol & yil & "-" & ay & "-" & gun & "-AYLIK.pdf"
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
233455
 
Üst