Farklı Kaydet Butonu ile hem pdf hem xls olarak kaydetme

Katılım
31 Ekim 2022
Mesajlar
7
Excel Vers. ve Dili
orta
Bir teklif uyguması hazırladım excelde.
Farklı Kaydet butonu yapmak istiyorum .
Butona bastığımda dosya adını belli bir hücreden alıp hem pdf hem excel olarak belirlediğim bir klasöre farklı kaydedecek .
Ana dosyayı ben kendim kaydetecem

Yardımlarınıza ihtiyacım var şimdiden teşekkürler.
 
Son düzenleme:

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
248
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Bir teklif uyguması hazırladım excelde.
Farklı Kaydet butonu yapmak istiyorum .
Butona bastığımda dosya adını belli bir hücreden alıp hem pdf hem excel olarak belirlediğim bir klasöre farklı kaydedecek .
Ana dosyayı ben kendim kaydetecem

Yardımlarınıza ihtiyacım var şimdiden teşekkürler.
İstediğin kodlar. Sayfa1 de A1 hücresinden kayıt ismini alır. o kısımları değiştirebilirsin.
Kod:
Sub FarkliKaydet()
    Dim dosyaAd As String
    Dim klasorYolu As String
    Dim dosyaYolu As String
    Dim savePath As Variant
    
    ' Belirli hücreyi al (örneğin, A1 hücresindeki değer dosya adı olarak alınacak)
    dosyaAd = ThisWorkbook.Sheets("Sayfa1").Range("A1").Value
    
    ' Klasör seçme penceresi aç
    savePath = Application.GetSaveAsFilename(InitialFileName:=dosyaAd & ".xlsm", _
                                              FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", _
                                              Title:="Dosyayı Kaydet")
    
    ' Eğer kullanıcı bir dosya yolu seçmediyse, çık
    If savePath = False Then
        MsgBox "Dosya kaydedilmedi.", vbExclamation
        Exit Sub
    End If
    
    ' Dosyanın bir kopyasını kaydet
    ThisWorkbook.SaveCopyAs savePath
    
    ' PDF olarak kaydet (aynı isimle)
    ThisWorkbook.Sheets("Sayfa1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Replace(savePath, ".xlsm", ".pdf")
    
    MsgBox "Dosya başarıyla kaydedildi!"
End Sub
 
Katılım
31 Ekim 2022
Mesajlar
7
Excel Vers. ve Dili
orta
Kod çalışıyor çok teşekkürler.

Pdf normal açılıyor ama xlsm açılırken " dosyanın bozuk olmadığını ve dosya uzantısının dosyan9ın biçimiyle eşleştiğini doğrulayın " hatası veriyor
 
Katılım
31 Ekim 2022
Mesajlar
7
Excel Vers. ve Dili
orta
İstediğin kodlar. Sayfa1 de A1 hücresinden kayıt ismini alır. o kısımları değiştirebilirsin.
Kod:
Sub FarkliKaydet()
    Dim dosyaAd As String
    Dim klasorYolu As String
    Dim dosyaYolu As String
    Dim savePath As Variant
   
    ' Belirli hücreyi al (örneğin, A1 hücresindeki değer dosya adı olarak alınacak)
    dosyaAd = ThisWorkbook.Sheets("Sayfa1").Range("A1").Value
   
    ' Klasör seçme penceresi aç
    savePath = Application.GetSaveAsFilename(InitialFileName:=dosyaAd & ".xlsm", _
                                              FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", _
                                              Title:="Dosyayı Kaydet")
   
    ' Eğer kullanıcı bir dosya yolu seçmediyse, çık
    If savePath = False Then
        MsgBox "Dosya kaydedilmedi.", vbExclamation
        Exit Sub
    End If
   
    ' Dosyanın bir kopyasını kaydet
    ThisWorkbook.SaveCopyAs savePath
   
    ' PDF olarak kaydet (aynı isimle)
    ThisWorkbook.Sheets("Sayfa1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Replace(savePath, ".xlsm", ".pdf")
   
    MsgBox "Dosya başarıyla kaydedildi!"
End Sub
Kod çalışıyor çok teşekkürler.

Pdf normal açılıyor ama xlsm açılırken " dosyanın bozuk olmadığını ve dosya uzantısının dosyan9ın biçimiyle eşleştiğini doğrulayın " hatası veriyor
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
724
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Eğer sadece ThisWorkbook.SaveAs savePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled satırını değiştirirseniz, dosyanın doğru formatta kaydedilmesini sağlayabilirsiniz. Ancak, burada birkaç önemli şey var:

Eğer dosyanızda herhangi bir makro varsa ve .xlsm olarak kaydediyorsanız, bu format doğru olacaktır.
ThisWorkbook.SaveAs savePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled
 

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
248
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Kod çalışıyor çok teşekkürler.

Pdf normal açılıyor ama xlsm açılırken " dosyanın bozuk olmadığını ve dosya uzantısının dosyan9ın biçimiyle eşleştiğini doğrulayın " hatası veriyor
hali hazırda kullandığınız excelin xlsm formatında olması gerekli. xlsm uzantılı excelde çalıştırınız kodu
 
Katılım
31 Ekim 2022
Mesajlar
7
Excel Vers. ve Dili
orta
Eğer sadece ThisWorkbook.SaveAs savePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled satırını değiştirirseniz, dosyanın doğru formatta kaydedilmesini sağlayabilirsiniz. Ancak, burada birkaç önemli şey var:

Eğer dosyanızda herhangi bir makro varsa ve .xlsm olarak kaydediyorsanız, bu format doğru olacaktır.
ThisWorkbook.SaveAs savePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled
kaydettiği exceller açılmıyor tam olarak ne yapmam lazım
 
Üst