Как да запишете работен лист като PDF файл и да го изпратите по имейл като прикачен файл през Outlook?
В някои случаи може да се наложи да изпратите работен лист като PDF файл през Outlook. Обикновено трябва ръчно да запазите работния лист като PDF файл, след това да създадете нов имейл с този PDF файл като прикачен файл във вашия Outlook и накрая да го изпратите. Постигането му ръчно стъпка по стъпка отнема много време. В тази статия ще ви покажем как бързо да запазите работен лист като PDF файл и да го изпратите автоматично като прикачен файл чрез Outlook в Excel.
Запазете работен лист като PDF файл и го изпратете по имейл като прикачен файл с VBA код
Запазете работен лист като PDF файл и го изпратете по имейл като прикачен файл с VBA код
Можете да стартирате кода на VBA по-долу, за да запазите автоматично активния работен лист като PDF файл и след това да го изпратите по имейл като прикачен файл през Outlook. Моля, направете следното.
1. Отворете работния лист, който ще запазите като PDF и изпратете, след което натиснете Друг + F11 клавиши едновременно, за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули. След това копирайте и поставете долния VBA код в код прозорец. Вижте екранна снимка:
VBA код: Запазете работен лист като PDF файл и го изпратете по имейл като прикачен файл
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. Натисни F5 ключ за изпълнение на кода. В паса диалогов прозорец, моля, изберете папка, за да запазите този PDF файл, и след това щракнете върху OK бутон.
бележки:
Запазете лесно работен лист или няколко работни листа като отделни PDF файлове наведнъж:
- Разделена работна книга полезност на Kutools за Excel може да ви помогне лесно да запазите работен лист или няколко работни листа като отделни PDF файлове наведнъж, както е показано в демонстрацията по-долу. Изтеглете и опитайте сега! (30-дневна безплатна пътека)
Свързани статии:
- Как да запазя име на файл в Excel с клеймо за време?
- Как да използвате функцията Запиши като за автоматично презаписване на съществуващ файл в Excel?
- Как да запишете, експортирате множество/всички листове в отделни csv или текстови файлове в Excel?
- Как да деактивирате или да не разрешите опциите Save & Save As в Excel?
- Как да деактивирам запазването на работна книга, но да разреша запазване само като в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!