BİRÇOK ÇALIŞMA SAYFASINDAN OLUŞAN TABLOLARI AYRI AYRI PDF HALİNE GETİRMEK

Bintang

Altın Üye
Katılım
31 Ekim 2006
Mesajlar
326
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019,Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2029
Merhaba,
50 çalışma sayfasından oluşan bir dosyada. Çalışma sayfalarını Pdf olarak kayıt etmek istediğimde her çalışma sayfasına gidip ayrı ayrı Pdf oluşturmak zorundayım buda oldukça vakit alıyor. Bir çok çalışma sayfasını seçip ayrı ayrı pdf haline getirmek mümkün mü acaba.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
681
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Deneyiniz,
Tüm sayfaları kendi adı ile dosyanın olduğu klasörde PDF klasörü açarak içerisine kaydeder.

C++:
Sub PDFKaydet()
    Dim ws As Worksheet
    Dim filePath As String
    Dim fileName As String
    
    filePath = ThisWorkbook.Path & "\PDF\"
    
    If Dir(filePath, vbDirectory) = "" Then
        MkDir filePath
    End If
    
    For Each ws In ThisWorkbook.Worksheets
        fileName = filePath & ws.Name & ".pdf"
        ws.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next ws
    
    MsgBox "Tüm çalışma sayfaları ayrı ayrı PDF olarak kaydedildi!"
End Sub
 

Bintang

Altın Üye
Katılım
31 Ekim 2006
Mesajlar
326
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019,Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2029
Üstadım ilk önce ilgi ve alakanız için teşekkür ederim. Hemen kopyaladım ama beceremedim dosyayı göndersem kontrol etme ihtimaliniz olurmu acaba neyi yanlış yaptım :(
 

Ekli dosyalar

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
681
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Gizli sayfalar var ondan hata veriyor. Dosya adı olmayacak karakterleri de varsa düzeltir.
Aşağıdaki kodu deneyiniz. Denedim şuan çalışmaktadır.

C++:
Sub PDFKaydet()
    Dim ws As Worksheet
    Dim filePath As String
    Dim fileName As String
    Dim cleanName As String
    
    filePath = ThisWorkbook.Path & "\PDF\"
    
    If Dir(filePath, vbDirectory) = "" Then
        MkDir filePath
    End If
    
    On Error GoTo HataOlustu
    
    For Each ws In ThisWorkbook.Worksheets
        If ws.Visible = xlSheetVisible Then
            cleanName = Replace(ws.Name, ":", "_")
            cleanName = Replace(cleanName, "\", "_")
            cleanName = Replace(cleanName, "/", "_")
            cleanName = Replace(cleanName, "*", "_")
            cleanName = Replace(cleanName, "?", "_")
            cleanName = Replace(cleanName, "[", "_")
            cleanName = Replace(cleanName, "]", "_")
            
            fileName = filePath & cleanName & ".pdf"
            Debug.Print fileName
            
            ws.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName, _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, OpenAfterPublish:=False
        End If
    Next ws
    
    MsgBox "Görünür çalışma sayfaları PDF olarak kaydedildi!"
    Exit Sub
    
HataOlustu:
    MsgBox "Hata: " & Err.Description & " - Çalışma Sayfası: " & ws.Name
End Sub
 

Bintang

Altın Üye
Katılım
31 Ekim 2006
Mesajlar
326
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019,Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2029
Çoook teşekkür ederim
 
Üst