vba - 如何将具有不同条件的附件保存到 Outlook 中的两个不同文件夹中?
问题描述
我每天在 Outlook 中收到 2 个不同的文件转发给我。我目前使用下面的代码自动将符合条件的附件下载到驱动器上的文件夹中。
我想知道是否有办法编辑它,以便我可以将不同的文件保存到两个不同的文件夹中。即主题为A的电子邮件=>将附件保存到文件夹A,主题为B的电子邮件=>将附件保存到文件夹B。
Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oOutlookAttachment As Outlook.Attachment
Dim sSaveAttachmentsFolder As String
sSaveAttachmentsFolder = "C:\Users\mason\Desktop\Email Pricing\"
For Each oOutlookAttachment In MItem.Attachments
oOutlookAttachment.SaveAsFile sSaveAttachmentsFolder &
oOutlookAttachment.DisplayName
Next
End Sub
我对VBA一无所知,我只是在网上找到了这段代码。
解决方案
由于它是一个二进制标准(A 或 B),我们不需要考虑两个字符串:如果它包含 A,则保存到folderA
. 否则(这意味着它包含 B)保存到folderB
.
Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttach As Outlook.Attachment
Dim FolderA As String, FolderB As String, StringA As String
FolderA = "C:\Users\mason\Desktop\Email Fast Racks\"
FolderB = "C:\Users\mason\Desktop\Email FTS Pricing\"
StringA = "Fast Racks East Coast"
For Each oAttach In MItem.Attachments
If UCase(oAttach.FileName) Like "*.CSV" Then
If InStr(MItem.Subject, StringA) > 0 Then
oAttach.SaveAsFile FolderA & oAttach.DisplayName
Else
oAttach.SaveAsFile FolderB & oAttach.DisplayName
End If
End If
Next oAttach
End Sub
推荐阅读
- javascript - 激活弹出模式的Javascript不起作用
- javascript - 在“./Navbar/Navbar”中找不到导出“默认”(重新导出为“导航栏”)
- javascript - 块状的突变体
- file - 在 Windows 10 批处理文件中,有没有办法只提取最后的总文件数?
- java - WebSockets 和 Discord API 的问题
- javascript - JSPDF:如何在 jsPDF 中编码 blob?
- sorting - 为什么排序线将较短的“根”项放在底部?
- python-3.x - 为什么找不到电子邮件的正文部分 Python imap?
- python - 运行 pyinstaller 时出现错误
- arrays - 如何在迭代时正确修改数组