Kaydedilen Dosya İsmini Hücredeki İsim ve Tarih Yapma Sorunu

Katılım
21 Kasım 2011
Mesajlar
13
Excel Vers. ve Dili
office 2003
Merhaba arkadaşlar, aşağıda ki kodda Form_1 , 2 , 3 olarak kayıt yapıyor. Her seferinde bu ismi plaka olarak değiştirmek zorunda kalıyorum. Komut ekranının olduğu "Bilgi" sayfasında "B8" hücresinde araç plakaları giriliyor. Ben bu formun "B8" hücresine yazılan plaka ve o günün tarihi olarak kayıt etmek istiyorum. Yardımcı olursanız memnun olurum arkadaşlar bir türlü beceremedim.


Kod:
Private Sub CommandButton1_Click()
Sayfa2.PrintOut
End Sub


Private Sub CommandButton2_Click()
Dim MyPath As String
    Dim MyFileName As String
    Dim Counter As Integer
    
    ' PDF'lerin kaydedileceği dizini belirleyin
     MyPath = "D:\GARAGE\"
    
    If Right(MyPath, 1) <> "\" Then
        MyPath = MyPath & "\"
    End If
  
    Counter = 1
    MyFileName = MyPath & "Form_" & Counter & ".pdf"
    Do While Dir(MyFileName) <> ""
        Counter = Counter + 1
        MyFileName = MyPath & "Form_" & Counter & ".pdf"
    Loop
  
    Sheets("İrsaliye").ExportAsFixedFormat Type:=xlTypePDF, Filename:=MyFileName, Quality:=xlQualityStandard
    
    MsgBox "Pdf Dosyası Başarıyla Kayıt Edildi! "
End Sub
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
337
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Merhaba,
Dener misiniz.
Aşağıdaki kodu düzenleyerek, PDF dosyasının ismini "Bilgi" sayfasındaki B8 hücresine yazılan plaka ve o günün tarihi ile oluşturabilirsiniz.

İşte düzenlenmiş kod:

Kod:
Private Sub CommandButton1_Click()
    Sayfa2.PrintOut
End Sub

Private Sub CommandButton2_Click()
    Dim MyPath As String
    Dim MyFileName As String
    Dim Counter As Integer
    Dim Plaka As String
    Dim Tarih As String
    
    ' PDF'lerin kaydedileceği dizini belirleyin
    MyPath = "D:\GARAGE\"
    
    ' Dosya yolunun sonunda '\' olmadığından emin olun
    If Right(MyPath, 1) <> "\" Then
        MyPath = MyPath & "\"
    End If
    
    ' Plakayı Bilgi sayfasındaki B8 hücresinden al
    Plaka = Sheets("Bilgi").Range("B8").Value
    
    ' Tarihi YYYY-MM-DD formatında al
    Tarih = Format(Date, "YYYY-MM-DD")
    
    ' İlk dosya ismi olarak plaka ve tarih kullan
    MyFileName = MyPath & Plaka & "_" & Tarih & ".pdf"
    
    ' Aynı isimde bir dosya varsa Counter ile benzersiz bir isim üret
    Counter = 1
    Do While Dir(MyFileName) <> ""
        MyFileName = MyPath & Plaka & "_" & Tarih & "_" & Counter & ".pdf"
        Counter = Counter + 1
    Loop
    
    ' PDF dosyasını kaydet
    Sheets("İrsaliye").ExportAsFixedFormat Type:=xlTypePDF, Filename:=MyFileName, Quality:=xlQualityStandard
    
    MsgBox "Pdf Dosyası Başarıyla Kayıt Edildi! "
End Sub
Bu kod ile, "Bilgi" sayfasındaki B8 hücresine girilen araç plakası ve o günün tarihi PDF dosyasının adında kullanılacak. Eğer aynı isimde bir dosya varsa, sonunda bir numara eklenerek benzersiz bir dosya ismi oluşturulacak.
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
337
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Sağolun cümlemizden. Bir beğeninizi alırım artık :)
 
Üst