将所有Excel工作簿保存在Outlook附件到另一个位置

我正在一个Excel VBA的macros应该只复制从Outlook的Excel文件到不同的位置

我有以下代码

Sub Test(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String saveFolder = "C:\APIndex" Dim dateFormat As String dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd Hmm ") For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName Next End Sub 

使用上面的代码,我可以下载所有的文件,包括一些图像和PDF文件,但我只想要.xls和.xlsx文件。

有没有一个好方法可以做到这一点?

您可以使用例如VBA InStr()来实现某种预过滤,以检查文件名是否包含。 xls或。 xlsx,如下面的片段所示:

 if (InStr(1, FileName, ".xls") >0 Or InStr(1, FileName, ".xlsx") >0) Then 'Save the File End If 

希望这会有所帮助。