在某些情况下,您可能需要通过Outlook将工作表作为PDF文件发送。 通常,您必须手动将工作表另存为PDF文件,然后在Outlook中使用带有该PDF文件作为附件的新电子邮件来发送。 一步一步地手动实现它很耗时。 在本文中,我们将向您展示如何快速将工作表另存为PDF文件并自动将其作为附件通过Excel中的Outlook发送。
将工作表另存为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 dont overwrite the existing PDF, I cant 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 Sub3。 按 F5 键来运行代码。 在里面 浏览 对话框,请选择一个文件夹来保存此PDF文件,然后单击 OK 按钮。
:
一次轻松地将一个或多个工作表另存为单独的PDF文件:
拆分工作簿 实用程序 Kutools for Excel 可以帮助您轻松地一次将一个工作表或多个工作表另存为单独的PDF文件,如下面的演示所示。 立即下载并试用! (30-天自由行)
准备好增强您的 Excel 任务了吗? 利用的力量 Kutools for Excel - 您终极的节省时间的工具。 简化复杂的任务并像专业人士一样浏览数据。 以闪电般的速度体验 Excel!
为什么需要 Kutools for Excel
🛠️ 超过 300 项强大功能: Kutools 包含 300 多项高级功能,可简化您在 1500 多种场景中的工作。
📈 卓越的数据处理能力:合并单元格、删除重复项并执行高级数据转换 - 所有这些都不费吹灰之力!
⏱️ 高效的批量操作:当你可以聪明地工作时,为什么还要付出额外的努力呢? 轻松批量导入、导出、组合和调整数据。
📊 可定制的图表和报告:访问各种附加图表并生成富有洞察力的报告。
🗄️ 强大的导航窗格:通过强大的列管理器、工作表管理器和自定义收藏夹获得优势。
📝 七种类型的下拉列表:通过各种功能和类型的下拉列表使数据输入变得轻而易举。
🎓 用户友好:对于初学者来说轻而易举,对于专家来说是一个强大的工具。
***