Soru Makro İle Yazıcı Ayarı ve PDF Yapma

Katılım
1 Mart 2017
Mesajlar
99
Excel Vers. ve Dili
Microsoft Office 2015
Türkçe
Altın Üyelik Bitiş Tarihi
17/03/2018
Merhabalar, elimde bir excel dosyası var. Açık sayfaları tek bir PDF yaparak bulunduğu klasöre aynı isimle farklı kaydetmesini istiyorum. Makro kaydet ile yaptım ancak aynı klasör içerisine kaydetmiyor. dosyayı birden fazla kişi ile paylaşacağımdan PDF olarak kaydetmeden önce sayfa boyutlarının aynı olması için yazıcıyı "Microsoft Print to PDF" seçmesini istiyorum. şimdiden teşekkürler.
 
Katılım
1 Mart 2017
Mesajlar
99
Excel Vers. ve Dili
Microsoft Office 2015
Türkçe
Altın Üyelik Bitiş Tarihi
17/03/2018
desteklerini rica ederim.
 
Katılım
1 Şubat 2021
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
Merhabalar, elimde bir excel dosyası var. Açık sayfaları tek bir PDF yaparak bulunduğu klasöre aynı isimle farklı kaydetmesini istiyorum. Makro kaydet ile yaptım ancak aynı klasör içerisine kaydetmiyor. dosyayı birden fazla kişi ile paylaşacağımdan PDF olarak kaydetmeden önce sayfa boyutlarının aynı olması için yazıcıyı "Microsoft Print to PDF" seçmesini istiyorum. şimdiden teşekkürler.
Benzer bir iş için benim kullandığım bir kod var. F55 hücresinde bulunan kişi isimlerini PDF dosya adı olarak kaydediyorum. C sürücüsünün altına PDF_DOSYALAR dizini açıp hepsini orada topladım. Sonra istediğin yere alabilir veya dosya yolunu yazarak istediğin yere kaydedebilirsin.

Private Sub PDFKAYDET()

ActiveSheet.PageSetup.BlackAndWhite = False

ADSOYAD = [F55].Value
DOSYAADI = "" & ADSOYAD & ".PDF"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\PDF_DOSYALAR\" & DOSYAADI & "", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

End Sub


Arşivimde birde bunu buldum. Kaydetmek istediğin PDF dosya adını "YılAyGün_Ünvan_Kod" şeklinde kaydetmişim.


Private Sub PDFKAYDET()

ActiveSheet.PageSetup.BlackAndWhite = False

'TARIH = [E10].Value 'E10 hücresindeki tarih
TARIH = Date 'Günün Tarihi
TARIH = Format(TARIH, "YYYYMMDD")
CARIKOD = [A40].Value
UNVAN = Left([B40].Value, 10)
DOSYAADI = "" & TARIH & "_" & UNVAN & "_" & CARIKOD & ".PDF"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\" & Environ("username") & "\Desktop\Mutabakat\" & DOSYAADI & "", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
 
Katılım
1 Mart 2017
Mesajlar
99
Excel Vers. ve Dili
Microsoft Office 2015
Türkçe
Altın Üyelik Bitiş Tarihi
17/03/2018
Benzer bir iş için benim kullandığım bir kod var. F55 hücresinde bulunan kişi isimlerini PDF dosya adı olarak kaydediyorum. C sürücüsünün altına PDF_DOSYALAR dizini açıp hepsini orada topladım. Sonra istediğin yere alabilir veya dosya yolunu yazarak istediğin yere kaydedebilirsin.

Private Sub PDFKAYDET()

ActiveSheet.PageSetup.BlackAndWhite = False

ADSOYAD = [F55].Value
DOSYAADI = "" & ADSOYAD & ".PDF"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\PDF_DOSYALAR\" & DOSYAADI & "", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

End Sub


Arşivimde birde bunu buldum. Kaydetmek istediğin PDF dosya adını "YılAyGün_Ünvan_Kod" şeklinde kaydetmişim.


Private Sub PDFKAYDET()

ActiveSheet.PageSetup.BlackAndWhite = False

'TARIH = [E10].Value 'E10 hücresindeki tarih
TARIH = Date 'Günün Tarihi
TARIH = Format(TARIH, "YYYYMMDD")
CARIKOD = [A40].Value
UNVAN = Left([B40].Value, 10)
DOSYAADI = "" & TARIH & "_" & UNVAN & "_" & CARIKOD & ".PDF"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\" & Environ("username") & "\Desktop\Mutabakat\" & DOSYAADI & "", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
merhabalar hocam, ilginiz için çok teşekkürler ancak istediğim tam olarak olmadı. totalde 3 işlem yapması gerekiyor.

pdf yapmadan önce yazıcıyı "Microsoft Print to PDF" yapması (excel dosyasını vereceğim personellerde farklı yazıcı seçili olduğunda sayfa yapısı pdf yaparken bozuluyor)
excel dosyasının bulunduğu klasöre, excel dosyası adıyla kaydetme (sonuna "_gg/aa/yyyy" olarak tarih eklerse tadından yenmez)
açık olan tüm sayfaları tek pdf yapma ( her dosyada aynı sayfalar bulunmaya biliyor bazı dosyalarda 1-2 sayfa gizlenebiliyor)
 
Katılım
1 Mart 2017
Mesajlar
99
Excel Vers. ve Dili
Microsoft Office 2015
Türkçe
Altın Üyelik Bitiş Tarihi
17/03/2018
konu güncel.
 
Katılım
1 Şubat 2021
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
merhabalar hocam, ilginiz için çok teşekkürler ancak istediğim tam olarak olmadı. totalde 3 işlem yapması gerekiyor.

pdf yapmadan önce yazıcıyı "Microsoft Print to PDF" yapması (excel dosyasını vereceğim personellerde farklı yazıcı seçili olduğunda sayfa yapısı pdf yaparken bozuluyor)
excel dosyasının bulunduğu klasöre, excel dosyası adıyla kaydetme (sonuna "_gg/aa/yyyy" olarak tarih eklerse tadından yenmez)
açık olan tüm sayfaları tek pdf yapma ( her dosyada aynı sayfalar bulunmaya biliyor bazı dosyalarda 1-2 sayfa gizlenebiliyor)
Excelde tüm sayfaları seçerek yazıcıya gönderirseniz sayfa1,sayfa2,sayfa3... sırasıyla yazdırır.
PDF olarak kaydetmek içinde aynı yöntemi kullanabilirsiniz.
Önce her bir sayfanın "Sayfa Yapısı" ayarlarını yaptıktan sonra aşağıdaki kodu deneyin.

NOT:

Dosya Adı olarak "ActiveSheet.[A1].Value" olarak yazdım. Dosyanızın adı hangi hücrede yer alıyor ise [A1] yerine o hücreyi yazmalısınız.

PDF dosya adı Excel dosya ile aynı olacak ise;
DOSYAYOLUADI = ThisWorkbook.Path & "\" & ActiveSheet.[A1].Value & Format(TARIH, "YYYYMMDD") & ".PDF"
satırını
DOSYAYOLUADI = ThisWorkbook.Path & "\" & Split(ThisWorkbook.Name, ".")(0) & Format(TARIH, "YYYYMMDD") & ".PDF"
şeklinde değiştirin.



Private Sub PDFKAYDET()

Sheets.Select

DOSYAYOLUADI = ThisWorkbook.Path & "\" & ActiveSheet.[A1].Value & Format(TARIH, "YYYYMMDD") & ".PDF"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DOSYAYOLUADI, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

ActiveSheet.Select

End Sub



Sub Test()

'Kodlarınız

PDFKAYDET

'Kodlarınız

End Sub
 
Son düzenleme:
Üst