如果包含keywordin filename,请保存电子邮件附件

时间:2017-04-03 14:07:37

标签: vba outlook outlook-vba

我试图从Outlook中提取pdf文件,如果该pdf包含" ecritures"在文件名中。

到目前为止,我的代码运行得很好,从子文件夹中提取pdf,但我想在条件下添加:

提取pdf文件:

For Each Item In SubFolder.Items
   For Each Atmt In Item.Attachments
      If Right(Atmt.FileName, 3) = "pdf" Then
         FileName = "file path"
         Atmt.SaveAsFile FileName
         i = i + 1
      End If
   Next Atmt
Next Item

我一直在阅读其他帖子,建议使用InStr(UCase但它还没有为我工作。似乎我做错了,因为它没有返回关键字的价值" ecritures"。任何人都有线索?在我的代码下面:

For Each Item In SubFolder.Items
   For Each Atmt In Item.Attachments
      If InStr(UCase(Atmt.FileName), "ecritures") > 0 Then
         FileName = "file path"
         Atmt.SaveAsFile FileName
         i = i + 1
      End If
   Next Atmt
Next Item

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想确保它们 PDF,那么您可以使用Like运算符:

If LCase(Atmt.FileName) like "*ecritures*.pdf" Then

以上内容需要文件名 包含 ecritures,但文件后缀(小写)为.pdf

使用"ecritures*.pdf"(删除第一个星号)将类似,但需要文件名 以<{1}}启动 ,而不是仅包含它