• DİKKAT

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

Excel dosyamı PDF olarak kaydetme

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,994
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Selamlar,

Arkadaşlar Excel dosyamı bir buton yardımıyla PDF olarak kaydediyorum. Ancak dosyamın ismini yazmıyor sadece PDF yazıyor. Halbuki Excel dosyamın ismi ne ise PDF yaptığında da o ismi almasını istiyorum. Nasıl yapabilirim.

Saygılar
 

Ekli dosyalar

Private Sub CommandButton1_Click()
ChDir "C:\Users\yucel\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\yucel\Desktop\PDF.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

VBA kodunda dosya ismini PDF.pdf ayarlarladığın için o şekilde kayıt ediyor.
 
Selamlar,

Arkadaşlar Excel dosyamı bir buton yardımıyla PDF olarak kaydediyorum. Ancak dosyamın ismini yazmıyor sadece PDF yazıyor. Halbuki Excel dosyamın ismi ne ise PDF yaptığında da o ismi almasını istiyorum. Nasıl yapabilirim.

Saygılar

bu kodu kendi kodunuz ile değiştirdiğinizde dosyanıza her istediğiniz adı verebileceksiniz.
ayrıca comand butonunuza tasarım modunda sağ tıklayarak
denetimi biçimlendir
özellikler
deyip nesneyi yazdır tikini kaldırırsanız hazırladığınız pdf de görünmez.

Kod:
Private Sub CommandButton1_Click()
Dim nom As String
Do While nom = ""
nom = InputBox("Bir dosya adı girin!" & Chr(13) & "Örnek: Rapor")
Loop
ChDir "C:\Users\yucel\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=(nom)
MsgBox ("Dosyanız başarıyla kaydedildi.")
End Sub
 

Ekli dosyalar

  • son.xls
    son.xls
    35.5 KB · Görüntüleme: 17
Son düzenleme:
bu kodu kendi kodunuz ile değiştirdiğinizde dosyanıza her istediğiniz adı verebileceksiniz.
ayrıca comand butonunuza tasarım modunda sağ tıklayarak
denetimi biçimlendir
özellikler
deyip nesneyi yazdır tikini kaldırırsanız hazırladığınız pdf de görünmez.

Kod:
Private Sub CommandButton1_Click()
Dim nom As String
Do While nom = ""
nom = InputBox("Bir dosya adı girin!" & Chr(13) & "Örnek: Rapor")
Loop
ChDir "C:\Users\yucel\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=(nom)
MsgBox ("Dosyanız başarıyla kaydedildi.")
End Sub

Selamlar,
İlginize teşekkür ederim. Bu da güzel bir yöntem. Ancak benim excel dosyamın adı ne ise aynı ad ile PDF yapmasını istiyorum.
Örneğin:
Excel dosyamın adı:
kitap1 ise pdf olarak kaydet dediğimde kitap1
kitap2 ise kitap2
son ise son olarak kaydetmesi gerekiyor.


Saygılar
 
Aşağıdaki kodu deneyiniz.

Kod:
Sub PDF_KAYDET()
    Yol = ThisWorkbook.Path
    Dosya_Adi = Split(ThisWorkbook.Name, ".")(0)
    ChDir Yol
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Yol & "\" & Dosya_Adi & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Nitro PDF 8 Pro isimli programı yükle, kendiliğinden excel sayfası menüsüne "Nitro Pro 8" isimli sekme ekliyor ve siz tuşa bastığınızda açılan menüde create pdf tuşuna bastığınızda sayfanızın ismiyle pdf e dönüştürüyor, ayrıca word dosyalrında da aynı işlem yapılabiliyor..ben kullanıyorum.
 
ben de tek tuşla pdf olarak kaydediyorum ama ne kamro yazdım ne de başka bir şey. zaten excel bunu kendi içinde hallediyor.

excel seçenekler/özelleştir de tüm komutları listeledim. pdf veya xps olarak yayınlayı kısa yol tuşlarına koydum. bu tuşu kullandığımda pdf olarak yayınlıyor ve dosya adını kendisi otomatik veriyor.

basit ama kısa bir çözüm yolu. belki bir başka kişinin işine yarar.
 
Selamlar
Korhan hocam elinize sağlık tam istediğim buydu. Teşekkürler
 
Sayın necip54 ilginiz için sizede teşekkürler
 
farklı bilgisayara taktığımda hep kaydeteceği yolu değiştirmem mi gerekecek.?
bilgisayar gözetmeksizin hangisinde kulanırsam kullanayım direk masaüstüne nasıl kaydedebilirim.?
 
Aşağıdaki kodu deneyiniz.

Kod:
Sub PDF_KAYDET()
    Yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
    Dosya_Adi = Split(ThisWorkbook.Name, ".")(0)
    ChDir Yol
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Yol & Dosya_Adi & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Aşağıdaki kodu deneyiniz.

Kod:
Sub PDF_KAYDET()
    Yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
    Dosya_Adi = Split(ThisWorkbook.Name, ".")(0)
    ChDir Yol
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Yol & Dosya_Adi & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
teşekkür ederim
 
arkadaşlar bu kodu çalıştırdım fakat sadece masaüstüne kaydediyor. macro bilmediğim için yapamadım çalışma sayfasını farklı klasörlere kaydedebilmek için neresini değiştirmem gerekli örneğin çalışma sayfasının birini x klasörüne belirlediğim bir adla , diğer bir sayfayı y klasörüne belirlediğim bir adla kaydetmeye çalışıyorum...?


Sub PDF_KAYDET()
Yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
Dosya_Adi = Split(ThisWorkbook.Name, ".")(0)
ChDir Yol

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=Yol & Dosya_Adi & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False

MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
arkadaşlar pardon biraz kurcalamak gerekiyormuş.

Filename:="Deneme\x\" & "adsız" & ".pdf", _

tırnak içine almadan denemişim.
 
Geri
Üst