Çalışma sayfasını PDF olarak kaydedip Outlook üzerinden e-posta eki olarak nasıl gönderirim?
Günlük工作中, genellikle meslektaşlarınızla veya müşterilerinizle belirli bir çalışma sayfasını paylaşmanız gerekir; ancak dosya türünün sabit ve güvenli olmasını istersiniz. Özellikle raporları belgelemek, faturalar göndermek veya kolayca değiştirilmemesi gereken nihai verileri paylaşmak için, bir çalışma sayfasını Outlook üzerinden PDF olarak göndermek yaygın bir ihtiyaçtır. Geleneksel yöntem ise çalışma sayfasını manuel olarak PDF’ye kaydetmeyi, Outlook’u açmayı, yeni bir e-posta oluşturmayı, PDF dosyasını eklemeyi ve ardından göndermeyi içerir—bu süreç, sık tekrarlandığında ya da birden fazla sayfa işlendiğinde hem yorucu hem de zaman alıcı olabilir.
Bu makale, Excel’deki bir çalışma sayfasını doğrudan PDF’e dönüştürüp hemen Outlook e-postasına eklemeyi adım adım otomatikleştirmenize yardımcı olur; böylece değerli zaman kazanır ve tekrarlayan manuel işlemleri ortadan kaldırırsınız. VBA kodu çözümüyle birlikte kullanım ayrıntılarını, avantajları, uygulama senaryolarını ve pratik ipuçlarını keşfedeceksiniz.
VBA kodu ile çalışma sayfasını PDF Dosyaları olarak kaydedip e-posta eki olarak gönderme
VBA kodu ile çalışma sayfasını PDF Dosyaları olarak kaydedip e-posta eki olarak gönderme
Excel çalışma sayfanızı PDF olarak dışa aktarıp Outlook üzerinden e-posta gönderme sürecini hızlandırmak için aşağıdaki VBA kodunu kullanabilirsiniz. Bu yöntem, özellikle kişiselleştirilmiş raporlar, faturalar veya diğer veri anlık görüntülerini Excel’den doğrudan ve düzenli olarak göndermeniz gerektiğinde son derece kullanışlıdır; çünkü hem kaydetme hem de e-posta gönderme adımlarını tamamen otomatikleştirir.
Bu yöntemi uygulamadan önce, Microsoft Outlook’un kurulu olduğundan ve varsayılan e-posta istemcisi olarak ayarlandığından emin olun. Kod, Excel ortamınızda makrolar etkinleştirildiğinde en iyi performansı gösterir.
1. PDF olarak kaydedip 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 seçeneğine tıklayın. Bu işlem, 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 Dosyaları olarak kaydedip e-posta eki olarak gönderme
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 VBA düzenleyicide F5 tuşuna basın veya makroyu çalıştırmak için Çalıştır seçeneğine tıklayın. Ardından bir klasör seçimi iletişim kutusu açılacaktır. PDF dosyalarının kaydedileceği hedef klasörü seçin ve devam etmek için Tamam düğmesine tıklayın.

Notlar ve Pratik İpuçları:

4. İşlem tamamlandığında, PDF Dosyaları eki eklenmiş yeni bir Outlook e-posta penceresi açılır. Konu satırı, çalışma sayfasının adına ".pdf" uzantısı eklenerek otomatik olarak doldurulur; e-posta içeriğini düzenleyebilir, alıcı ekleyebilir ve istediğiniz zaman gönderebilirsiniz. Bu yöntem, manuel ekleme işlemlerine kıyasla hataları en aza indirir ve verimliliği artırır.

Bu VBA tabanlı yaklaşım, nihai çalışma sayfalarını düzenli olarak PDF ekleri olarak dağıtmak gerektiğinde en verimli çözümü sunar ve tekrarlayan manuel işlemleri en aza indirir. Sınırlamaları arasında Outlook’a bağımlılık, birden fazla sayfayı aynı anda toplu olarak işleyememe ve makroların etkinleştirilmesi zorunluluğu yer alır. Birden fazla çalışma sayfasını tek seferde gönderme veya ek otomasyon gibi daha karmaşık iş akışları için Excel eklentilerini veya yerleşik özellikleri değerlendirmeyi düşünün.
Alternatif çözüm: Makro kullanımı 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 işlevini kullanarak çalışma sayfanızı PDF olarak kaydedebilir, ardından Outlook’ta ekleyip gönderebilirsiniz. Bu yöntem daha fazla adım gerektirse de özel izinlere veya komut dosyası bilgisine gerek kalmadan her yerde kullanılabilir.
Bir çalışma sayfasını veya birden fazla çalışma sayfasını aynı anda ayrı ayrı PDF Dosyaları olarak kolayca kaydedin:
Çalışma Kitabını Ayır yardımcısı, aşağıdaki örnekte gösterildiği gibi bir çalışma sayfasını veya birden fazla çalışma sayfasını aynı anda ayrı ayrı PDF dosyaları olarak kolayca kaydetmenizi sağlar. Kutools for Excel Hemen indirip deneyin! (30 günlük ücretsiz deneme)

İlgili makaleler:
- Excel dosya adını zaman damgasıyla nasıl kaydederim?
- Excel'de mevcut dosyanın üzerine otomatik olarak kaydetmek için Farklı Kaydet işlevini nasıl kullanabilirim?
- Excel'de birden fazla veya tüm sayfaları ayrı ayrı CSV ya da metin dosyası olarak nasıl kaydedebilir veya dışa aktarabilirsiniz?
- Excel’de “Kaydet” ve “Farklı Kaydet” seçeneklerini nasıl devre dışı bırakabilir veya bunlara erişimi nasıl kısıtlayabilirsiniz?
- Excel'de çalışma kitabının kaydedilmesini nasıl engelleyip yalnızca "Farklı Kaydet" seçeneğine izin verebilirsiniz?
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar