如何将工作表另存为PDF文件并将其作为附件通过Outlook通过电子邮件发送?
在某些情况下,您可能需要通过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 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 按钮。
:
1.现在,活动工作表将另存为PDF文件。 PDF文件以工作表名称命名。
2.如果活动工作表为空白,则单击“确定”后将出现一个对话框,如下图所示。 OK 按钮。
4.现在,将创建新的Outlook电子邮件,您可以看到PDF文件作为附件列在附件字段中。 看截图:
5.请撰写此电子邮件,然后发送。
6.仅当使用Outlook作为邮件程序时,此代码才可用。
一次轻松地将一个或多个工作表另存为单独的PDF文件:
拆分工作簿 实用程序 Kutools for Excel 可以帮助您轻松地一次将一个工作表或多个工作表另存为单独的PDF文件,如下面的演示所示。 立即下载并尝试! (30 天免费试用)
相关文章:
- 如何使用时间戳保存Excel文件名?
- 如何使用“另存为”功能自动覆盖Excel中的现有文件?
- 如何在Excel中保存,导出多个/所有工作表到单独的csv或文本文件?
- 如何在Excel中禁用或不允许“另存为”选项?
- 如何禁用工作簿保存,但只允许在Excel中另存为?
最佳办公生产力工具
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级查询: 多条件VLookup | 多值VLookup | 跨多个工作表的 VLookup | 模糊查询 .... | |
高级下拉列表: 快速创建下拉列表 | 依赖下拉列表 | 多选下拉列表 .... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较范围和列 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符,...) | 50+ 图表 类型 (甘特图,...) | 40+ 实用 公式 (根据生日计算年龄,...) | 19 插入 工具 (插入二维码, 从路径插入图片,...) | 12 转化 工具 (小写金额转大写, 货币兑换,...) | 7 合并与拆分 工具 (高级组合行, 分裂细胞,...) | ... 和更多 |
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Sort comments by
#44888
This comment was minimized by the moderator on the site
0
0
#44020
This comment was minimized by the moderator on the site
Report
0
0
#44074
This comment was minimized by the moderator on the site
Report
0
0
#42602
This comment was minimized by the moderator on the site
0
0
#42876
This comment was minimized by the moderator on the site
Report
0
0
#39578
This comment was minimized by the moderator on the site
0
0
#39603
This comment was minimized by the moderator on the site
Report
0
0
#39575
This comment was minimized by the moderator on the site
0
0
#39604
This comment was minimized by the moderator on the site
Report
0
0
#39456
This comment was minimized by the moderator on the site
0
0
#39605
This comment was minimized by the moderator on the site
Report
0
0
#38873
This comment was minimized by the moderator on the site
0
0
#39003
This comment was minimized by the moderator on the site
Report
0
0
#37595
This comment was minimized by the moderator on the site
0
0
#35959
This comment was minimized by the moderator on the site
Report
0
0
#35699
This comment was minimized by the moderator on the site
0
0
There are no comments posted here yet