PDF KAYDET KODUNDA AYNI DOSYA ÜZERİNE KAYIT UYARISI

Katılım
24 Nisan 2021
Mesajlar
43
Excel Vers. ve Dili
2021 Türkçe
Merhaba

Excelde pdf olarak kaydetmek için aşağıdaki kodu kullanıyorum. Ama aynı isimli dosya olursa uyarı vermeden direk üstüne kaydediyor.
Aynı isimli pdf dosyası olduğu zaman kaydetmeyecek şekilde kodu güncelleyebilir miyiz?

Sub PdfKaydet()

Path = Worksheets("Ayarlar").Range("C15").Text
Tarih = Worksheets("Günlük").Range("G2").Value
Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=Path & Tarih & ".pdf"

End Sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,694
Excel Vers. ve Dili
Excel 2019 Türkçe
Kaydet satırının önüne aşağıdaki satırı ilave edin.
Kod:
If Dir(Path & Tarih & ".pdf" ) <> ""
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,694
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
If Dir(Path & Tarih & ".pdf" ) <> ""

Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=Path & Tarih & ".pdf"

end if
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Deneyiniz.
Kod:
Sub PdfKaydet()
Dim fs As FileSystemObject

Path = Worksheets("Ayarlar").Range("C15").Text

Tarih = Worksheets("Günlük").Range("G2").Value

dosyaAdi = Path & Tarih & ".pdf"

If fs.FileExists(dosyaAdi) = True Then

Msgbox "Aynı isimde dosya bulunduğu için kayıt işlemi yapılmadı.!" 

Exit sub

End If

Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=Path & Tarih & ".pdf"



End Sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,694
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
sub kaydet()

Path = Worksheets("Ayarlar").Range("C15").Text

Tarih = Worksheets("Günlük").Range("G2").Value

If Dir(Path & Tarih & ".pdf" ) <> "" then

Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=Path & Tarih & ".pdf"

end if

end sub
 
Katılım
24 Nisan 2021
Mesajlar
43
Excel Vers. ve Dili
2021 Türkçe
Deneyiniz.
Kod:
Sub PdfKaydet()
Dim fs As FileSystemObject

Path = Worksheets("Ayarlar").Range("C15").Text

Tarih = Worksheets("Günlük").Range("G2").Value

dosyaAdi = Path & Tarih & ".pdf"

If fs.FileExists(dosyaAdi) = True Then

Msgbox "Aynı isimde dosya bulunduğu için kayıt işlemi yapılmadı.!"

Exit sub

End If

Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=Path & Tarih & ".pdf"



End Sub

Bu şekilde hata verdi

 
Katılım
24 Nisan 2021
Mesajlar
43
Excel Vers. ve Dili
2021 Türkçe
Kod:
sub kaydet()

Path = Worksheets("Ayarlar").Range("C15").Text

Tarih = Worksheets("Günlük").Range("G2").Value

If Dir(Path & Tarih & ".pdf" ) <> "" then

Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=Path & Tarih & ".pdf"

end if

end sub

Bunu da uyguladım hata vermiyor ama sonuç da vermiyor malesef. Kayıt yapmıyor yani.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
671
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Merhaba,

Deneyiniz.

Kod:
Sub PdfKaydet()
    Dim Path As String
    Dim Tarih As String
    Dim DosyaYolu As String

    Path = Worksheets("Ayarlar").Range("C15").Text
    Tarih = Worksheets("Günlük").Range("G2").Value
    DosyaYolu = Path & Tarih & ".pdf"

    If Len(Dir(DosyaYolu)) > 0 Then
        MsgBox "Dosya mevcut: " & DosyaYolu, vbExclamation, "Uyarı"
    Else
        Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=DosyaYolu
    End If
End Sub


Sor ve kaydet,

Kod:
Sub PdfKaydet()
    Dim Path As String
    Dim Tarih As String
    Dim DosyaYolu As String
    Dim cevap As VbMsgBoxResult

    Path = Worksheets("Ayarlar").Range("C15").Text
    Tarih = Worksheets("Günlük").Range("G2").Value
    DosyaYolu = Path & Tarih & ".pdf"

    If Len(Dir(DosyaYolu)) > 0 Then
        cevap = MsgBox("Dosya zaten mevcut. Üzerine yazmak istiyor musunuz?", vbYesNo + vbQuestion, "Onay")
        If cevap = vbYes Then
            Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=DosyaYolu
            MsgBox "Dosya başarıyla kaydedildi.", vbInformation
        Else
            MsgBox "İşlem iptal edildi.", vbInformation
        End If
    Else
        Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=DosyaYolu
        'MsgBox "Dosya başarıyla kaydedildi.", vbInformation
    End If
End Sub
 
Son düzenleme:
Katılım
24 Nisan 2021
Mesajlar
43
Excel Vers. ve Dili
2021 Türkçe
Merhaba,

Deneyiniz.

Kod:
Sub PdfKaydet()
    Dim Path As String
    Dim Tarih As String
    Dim DosyaYolu As String

    Path = Worksheets("Ayarlar").Range("C15").Text
    Tarih = Worksheets("Günlük").Range("G2").Value
    DosyaYolu = Path & Tarih & ".pdf"

    If Len(Dir(DosyaYolu)) > 0 Then
        MsgBox "Dosya mevcut: " & DosyaYolu, vbExclamation, "Uyarı"
    Else
        Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=DosyaYolu
    End If
End Sub


Sor ve kaydet,

Kod:
Sub PdfKaydet()
    Dim Path As String
    Dim Tarih As String
    Dim DosyaYolu As String
    Dim cevap As VbMsgBoxResult

    Path = Worksheets("Ayarlar").Range("C15").Text
    Tarih = Worksheets("Günlük").Range("G2").Value
    DosyaYolu = Path & Tarih & ".pdf"

    If Len(Dir(DosyaYolu)) > 0 Then
        cevap = MsgBox("Dosya zaten mevcut. Üzerine yazmak istiyor musunuz?", vbYesNo + vbQuestion, "Onay")
        If cevap = vbYes Then
            Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=DosyaYolu
            MsgBox "Dosya başarıyla kaydedildi.", vbInformation
        Else
            MsgBox "İşlem iptal edildi.", vbInformation
        End If
    Else
        Worksheets("Günlük").ExportAsFixedFormat xlTypePDF, Filename:=DosyaYolu
        'MsgBox "Dosya başarıyla kaydedildi.", vbInformation
    End If
End Sub
Çok çok teşekkür ederim. İstediğimden bile daha fazlasını paylaşmışsınız. Sorunsuz çalışıyor.
 
Katılım
24 Nisan 2021
Mesajlar
43
Excel Vers. ve Dili
2021 Türkçe
Bişey daha istesem peki sizden

PDF olarak kaydettikten sonra, otomatik olarak kaydedilen pdf'nin de açılmasını da sağlayabilirmiyiz?
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
671
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Bişey daha istesem peki sizden

PDF olarak kaydettikten sonra, otomatik olarak kaydedilen pdf'nin de açılmasını da sağlayabilirmiyiz?

Kodun en sonundaki End If'den bir önceki satıra Shell "explorer.exe " & Chr(34) & DosyaYolu & Chr(34), vbHide ekleyip deneyiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,134
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Şu satırda dosyayı açar...

Worksheets("Günlük").ExportAsFixedFormat, OpenAfterExport:=True
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,134
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bende bu haliyle denemedim. Tahmini yazmıştım. Belki eksik olmuş olabilir. Ama pdf kaydetme parametrelerinde dosyayı açma seçeneği var.
 
Üst