Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 保存Outlook邮件附件_Excel_Vba_Outlook - Fatal编程技术网

Excel 保存Outlook邮件附件

Excel 保存Outlook邮件附件,excel,vba,outlook,Excel,Vba,Outlook,我想保存电子邮件中的.xlsx附件 我可以保存文件,但默认扩展名不是.xlsx,即使电子邮件有.xlsx附件 即使将其另存为“.xlsx”OutlookMail.Attachments.Item(1).SaveAsFile path&“.xlsx”文件也无法打开 Set OutlookApp = New Outlook.Application Set OutlookNamespace = OutlookApp.GetNamespace("MAPI") Set Folder = OutlookNa

我想保存电子邮件中的.xlsx附件

我可以保存文件,但默认扩展名不是.xlsx,即使电子邮件有.xlsx附件

即使将其另存为“.xlsx”
OutlookMail.Attachments.Item(1).SaveAsFile path&“.xlsx”
文件也无法打开

Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("WeeklyMail")
Dim path As String


path = "G:\" & Format(Date, "DD-MM-YYYY") & "-"
For Each OutlookMail In Folder.Items        
    If OutlookMail.ReceivedTime >= Range("A1").Value Then
       title = OutlookMail.subject
       If InStr(title, "[Hello]") Then
            OutlookMail.Attachments.Item(1).SaveAsFile path
       End If
    End If
Next OutlookMail

@Helowxi,您的path变量似乎根本不包含文件名: 退房[ 将所需的文件名添加到变量中,例如

path = "G:\" & Format(Date, "DD-MM-YYYY") & "-MyFileName.xlsx"

试试看。

您可以使用
OutlookMail.Attachments.Item(1).FileName
获取附件的文件名和扩展名

下面的代码将获得文件扩展名并保存。我使用instrrev作为预防措施,防止文件名带有两个句点

@EarlyBird2指出缺少的文件名是正确的

Dim attchFileName作为字符串

Dim myFileName作为字符串

Dim FileExt作为字符串

myFileName=“一些文件”

attchFileName=OutlookMail.Attachments.Item(1).文件名

FileExt=Right(attchFileName,len(attchFileName)-instrrev(attchFileName,“.”)

OutlookMail.Attachments.Item(1).SaveAsFile path&“&myFileName&FileExt