Skip to main content

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

Author: Siluvia Last Modified: 2025-06-10

Bazı durumlarda, bir çalışma sayfasını Outlook üzerinden PDF dosyası olarak göndermeniz gerekebilir. Genellikle, çalışma sayfasını manuel olarak PDF dosyası olarak kaydetmeniz, ardından bu PDF dosyasını Outlook'ta yeni bir e-postaya ek olarak eklemeniz ve son olarak göndermeniz gerekir. Bu işlemi adım adım manuel olarak gerçekleştirmek zaman alıcıdır. Bu makalede, Excel'de bir çalışma sayfasını hızlıca PDF dosyası olarak kaydedip, otomatik olarak Outlook aracılığıyla e-posta ek olarak nasıl göndereceğinizi göstereceğiz.

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


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

Aşağıdaki VBA kodunu çalıştırarak etkin çalışma sayfasını otomatik olarak PDF dosyası olarak kaydedebilir ve ardından Outlook aracılığıyla e-posta ek olarak gönderebilirsiniz. Lütfen aşağıdaki adımları izleyin.

1. PDF olarak kaydedip göndereceğiniz çalışma sayfasını açın, ardından Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına aynı anda basın.

2. Microsoft Visual Basic for Applications penceresinde, Ekle > Modül'e tıklayın. Ardından aşağıdaki VBA kodunu Kod penceresine kopyalayıp yapıştırın. Ekran görüntüsüne bakın:

VBA kodu: Bir çalışma sayfasını PDF dosyası olarak kaydedin ve e-posta ek 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 çalıştırmak için F5 tuşuna basın. Gözat iletişim kutusunda, lütfen bu PDF dosyasını kaydetmek için bir klasör seçin ve ardından Tamam düğmesine tıklayın.

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

Notlar:

1. Şimdi aktif çalışma sayfası PDF dosyası olarak kaydedildi. PDF dosyası çalışma sayfası adıyla isimlendirildi.
2. Aktif çalışma sayfası boşsa, Tamam düğmesine tıkladıktan sonra aşağıdaki ekran görüntüsünde gösterilen bir iletişim kutusu alacaksınız.

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

4. Şimdi yeni bir Outlook e-postası oluşturuldu ve PDF dosyasının Eklenen alan bölümünde eklenti olarak listelendiğini görebilirsiniz. Ekran görüntüsüne bakın:

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

5. Lütfen bu e-postayı yazın ve ardından gönderin.
6. Bu kod yalnızca Outlook'u e-posta programınız olarak kullandığınızda kullanılabilir.

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

Çalışma Kitabını Ayır özelliği, Kutools for Excel'in size bir çalışma sayfasını veya birden fazla çalışma sayfasını tek seferde ayrı PDF dosyaları olarak kolayca kaydetmenize yardımcı olabilir. Aşağıdaki demo gösterildiği gibi ş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ı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
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: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur   |  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ı ve Sütunları Karşılaştır ...
Öne Çıkan Ö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 (Auto Text)   |  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 filtrele...) ...
En İyi15 Araç Seti12 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 Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


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

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!