vba - 如何从 Outlook 中提取 PDF 附件并保存到文件夹
问题描述
我需要在 Outlook 中使用 VBA 代码来从电子邮件中提取 PDF 附件并保存到指定的文件夹中。用户将选择电子邮件。
我有以下代码,但需要对其进行修改。
Public Sub SaveAutoAttach(item As Outlook.MailItem)
Dim object_attachment As Outlook.Attachment
Dim saveFolder As String
' Folder location when I want to save my file
saveFolder = "D:\Data\Archive"
For Each object_attachment In item.Attachments
' Criteria to save .doc files only
If InStr(object_attachment.DisplayName, ".doc") Then
object_attachment.SaveAsFile saveFolder & "\" & object_attachment.DisplayName
End If
Next
End Sub
解决方案
根据您的要求,以下宏将保存来自一个或多个用户选定项目的任何 PDF 附件。
Option Explicit
Sub SaveAttachmentsFromSelectedItemsPDF()
Dim currentItem As Object
Dim currentAttachment As Attachment
Dim saveToFolder As String
Dim savedFileCountPDF As Long
saveToFolder = "c:\users\domenic\desktop" 'change the path accordingly
savedFileCountPDF = 0
For Each currentItem In Application.ActiveExplorer.Selection
For Each currentAttachment In currentItem.Attachments
If UCase(Right(currentAttachment.DisplayName, 4)) = ".PDF" Then
currentAttachment.SaveAsFile saveToFolder & "\" & _
Left(currentAttachment.DisplayName, Len(currentAttachment.DisplayName) - 4) & "_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & ".pdf"
savedFileCountPDF = savedFileCountPDF + 1
End If
Next currentAttachment
Next currentItem
MsgBox "Number of PDF files saved: " & savedFileCountPDF, vbInformation
End Sub
推荐阅读
- ios - Swift - 使用 UITextField 作为 UITableView 的搜索
- sql - 尝试在具有到期日期的 TSQL 中进行分析
- python - 制作 python UI - Tkinter 是最佳选择吗?
- postgresql - 在 Windows (PostGIS) 上启动 shp2pgsql-gui 时找不到 libsqlite3-0.dll 错误
- git - Fedora 33 git pull 或 clone 不再工作和/或 ssh 密钥不再识别
- android - 使用 5 公里附近的查询(经度和纬度)查询 Firebase 实时数据库
- spring-boot - 为什么我会收到“权限被拒绝”?
- android - 在 logcat / chatty 相同的 1 行中将我的应用程序列入白名单
- jestjs - 开玩笑忽略赛普拉斯测试
- javascript - 在没有 makeStyles 的材料 ui 中使用来自主题的自定义样式