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?
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.
Notlar:
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)
İlgili makaleler:
- Excel dosya adını zaman damgasıyla nasıl kaydedersiniz?
- Excel'de var olan bir 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ırakmak veya izin vermemek nasıl yapılır?
- Excel'de çalışma kitabı kaydetmeyi devre dışı bırakıp yalnızca farklı kaydetmeye izin vermek nasıl yapılır?
En İyi Ofis Verimlilik Araçları
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!