Bir çalışma sayfasını PDF dosyası olarak kaydetmek ve Outlook üzerinden e-posta ek dosyası olarak göndermek nasıl yapılır?
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.
Notlar ve Pratik İpuçları:
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.
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)
İlgili makaleler:
- Excel dosya adını zaman damgasıyla nasıl kaydedersiniz?
- Excel'de mevcut dosyanın üzerine otomatik olarak yazmak için Farklı Kaydet işlevini nasıl kullanırsınız?
- Excel'de birden fazla/tüm sayfaları ayrı CSV veya metin dosyaları olarak nasıl kaydedersiniz/dışa aktarırsınız?
- Excel'de Kaydet ve Farklı Kaydet seçeneklerini devre dışı bırakma veya izin vermemek nasıl yapılır?
- Excel'de çalışma kitabı kaydetmeyi devre dışı bırakma ama yalnızca farklı kaydetmeye izin verme nasıl yapılır?
En İyi Ofis Verimlilik Araçları
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!