Skip to main content

Bir çalışma sayfasını PDF dosyası olarak kaydetmek ve Outlook üzerinden e-posta ek dosyası olarak göndermek nasıl yapılır?

Author: Siluvia Last Modified: 2025-08-07

Günlük işlerde, genellikle bir çalışma sayfasını meslektaşlarınız veya müşterilerinizle paylaşmanız gereken durumlarla karşılaşırsınız, ancak dosya formatının sabit ve güvenli olmasını sağlamak istersiniz. Bir çalışma sayfasını PDF dosyası olarak Outlook ile göndermek yaygın bir gerekliliktir, özellikle rapor belgeleme, fatura gönderme veya değiştirilmesi kolay olmaması gereken nihai verileri paylaşma gibi durumlarda. Geleneksel olarak, bu işlem çalışma sayfasını manuel olarak PDF olarak kaydetmeyi, Outlook'u açmayı, bir e-posta yazmayı, PDF'i eklemeyi ve göndermeyi içerir — bu da sık sık tekrarlanması veya birden fazla sayfa ile uğraşılması durumunda can sıkıcı ve zaman alıcıdır.

Bu makale, bir çalışma sayfasını PDF'ye dönüştürme işlemini otomatikleştirmenize ve Excel'den doğrudan bir Outlook e-postasına ek olarak hemen eklemenize yardımcı olan adım adım bir rehber sunar, böylece önemli ölçüde zaman kazanmanızı sağlar ve tekrarlayan manuel işlemleri önlersiniz. VBA kod çözümüne ek olarak, işleme, avantajlara, uygulama senaryolarına ve pratik ipuçlarına ilişkin ayrıntıları bulacaksınız.

VBA kodu ile bir çalışma sayfasını PDF dosyası olarak kaydedin ve e-posta ek dosyası olarak gönderin


VBA kodu ile bir çalışma sayfasını PDF dosyası olarak kaydedin ve e-posta ek dosyası olarak gönderin

Excel çalışma sayfasını PDF dosyası olarak dışa aktarma ve Outlook üzerinden e-posta gönderme işlemini hızlandırmak için aşağıdaki VBA kodunu kullanabilirsiniz. Bu yaklaşım, özellikle Excel'den kişiselleştirilmiş raporlar, faturalar veya diğer veri anlık görüntülerini düzenli olarak göndermeniz gereken durumlarda çok kullanışlıdır, çünkü kaydetme ve e-posta gönderme adımlarını tamamen otomatikleştirir.

Bu yöntemi uygulamadan önce, Microsoft Outlook'un kurulu olduğundan ve varsayılan posta istemciniz olarak ayarlandığından emin olun. Kod, Excel ortamınızda makroların etkinleştirildiğinde en iyi şekilde çalışır.

1. Kaydetmek ve PDF olarak göndermek istediğiniz çalışma sayfasını açın. Alt + F11 tuşlarına aynı anda basarak Microsoft Visual Basic for Applications (VBA) düzenleyicisini başlatın.

2. VBA penceresinde, menüye gidin ve Ekle > Modül'e tıklayın. Bu, yeni bir kod modülü oluşturur. Ardından aşağıdaki VBA kodunu modülün Kod penceresine kopyalayıp yapıştırın.  

VBA kodu: Çalışma sayfasını PDF dosyası olarak kaydedin ve e-posta ek dosyası olarak gönderin

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. Kodu yapıştırdıktan sonra, F5'e basın veya VBA düzenleyicisinde Çalıştır'a tıklayarak makroyu çalıştırın. Bir klasör seçimi iletişim kutusu açılacaktır. PDF dosyasının kaydedileceği hedef klasörü seçin ve ardından devam etmek için Tamam'a tıklayın.

run vba code to select a folder to save this PDF file

Notlar ve Pratik İpuçları:

1. Makro, çalışma sayfasıyla aynı ada sahip bir PDF dosyası oluşturur ve seçtiğiniz klasöre kaydeder.
2. Aktif çalışma sayfası boşken kodu çalıştırmaya çalışırsanız, aşağıdaki ekran görüntüsünde gösterildiği gibi bir uyarı iletişim kutusu görürsünüz. Bu, yanlışlıkla boş bir PDF kaydetmeyi ve e-posta göndermeyi önler. Bunu önlemek için, makroyu çalıştırmadan önce çalışma sayfasında içerik olduğundan emin olun.

If the active worksheet is blank,a warning prompt box is popped out

4. İşlem tamamlandığında, PDF dosyası eklenmiş yeni bir Outlook e-posta penceresi oluşturulur. Konu satırı, çalışma sayfasının adına ".pdf" eklenerek önceden doldurulur; e-posta içeriğini düzenleyebilir, alıcı ekleyebilir ve gerektiğinde gönderebilirsiniz. Bu, manuel eklemenin yerine geçen hataları azaltır ve verimliliği artırır.

a new Outlook email is created with the PDF file as an attachment

Not: Makro yalnızca Microsoft Outlook yüklüyse ve varsayılan posta istemciniz olarak ayarlanmışsa çalışır. Başka bir e-posta programı kullanıyorsanız, bu çözüm geçerli olmayabilir.

Bu VBA tabanlı yaklaşım, özellikle son haline getirilmiş çalışma sayfalarını PDF ekleri olarak düzenli olarak dağıtmanız gereken durumlarda en verimlidir ve tekrarlayan manuel adımları en aza indirir. Sınırlamaları arasında Outlook'a bağımlılık, birden fazla sayfayı aynı anda toplu işlem yapamama ve makroları etkinleştirme gerekliliği bulunur. Birden fazla çalışma sayfasını tek seferde gönderme veya ek otomasyon gerektiren daha karmaşık iş akışları için Excel eklentilerini veya yerleşik özellikleri kullanmayı düşünebilirsiniz.

Alternatif çözüm: Eğer VBA makroları ortamınız için uygun değilse, örneğin makrolar kısıtlanmışsa, Excel'in yerleşik Dışa Aktar veya Farklı Kaydet fonksiyonunu kullanarak çalışma sayfanızı PDF olarak kaydedebilir, ardından Outlook'ta e-postaya ekleyip gönderebilirsiniz. Bu yöntem, daha fazla adımı gerektirse de özel izinlere veya komut dosyası bilgisine gerek duymadan her zaman kullanılabilir.


Birden fazla çalışma sayfasını tek seferde ayrı PDF dosyaları olarak kolayca kaydedin:

Kutools for Excel'in Çalışma Kitabını Ayır özelliği, birden fazla çalışma sayfasını aşağıdaki demoda gösterildiği gibi tek seferde ayrı PDF dosyaları olarak kaydetmenize yardımcı olabilir. Şimdi indirin ve deneyin! (30-gün ücretsiz deneme)

save multiple worksheets as separate PDF files by kutools


İlgili makaleler:

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veriye dayalı analizi devrimsel olarak değiştirin: Akıllı Yürütme |Kod Oluştur |Özel Formüller Oluştur |Verileri Analiz Edin ve Grafikler Oluşturun |Geliştirilmiş İşlevler’i çağırın
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle | Boş Satırları Sil | Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir | Formül Olmadan Yuvarla...
Süper ARA: Çoklu Kriter VLookup | Çoklu Değer VLookup | Çoklu sayfa araması | Bulanık Eşleme....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluşturun | Bağımlı Açılır Liste | Çoklu Seçimli Açılır Liste....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle | Sütunları Taşı | Gizli Sütunların Görünürlük Durumunu Değiştir | Aralıkları & Sütunları Karşılaştır...
Özel Seçilen Özellikler: Izgara Odaklama | Tasarım Görünümü | Gelişmiş formül çubuğu | Çalışma Kitabı & Çalışma Sayfası Yöneticisi | Otomatik Metin Kütüphanesi | Tarih Seçici | Veri Birleştir | Hücreleri Şifrele/Şifre Çöz | Listeye Göre E-posta Gönder | Süper Filtre | Özel Filtre (kalın/italik/üstü çizili filtreleme...)...
En Gözde15 Araç Seti:12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...) | 50+ Grafik Türü (Gantt Grafiği, ...) | 40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...) | 19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...) | 12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...) | 7 Birleştir & Böl Araçları (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...) | ... ve daha fazlası
Kutools’u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40’tan fazla başka dili destekler!

Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...


Office Tab, Office’e sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
  • Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
  • Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!