2016-05-23 95 views
2

我目前正在接收每周报告的Outlook,我需要打开并保存在特定文件夹中。我成功地重命名了文件并将其传输到所需的文件。电子邮件附件导出到特定文件夹文件格式问题

但是,文件格式与附加到电子邮件中的文件不同,当我没有在末尾放置日期格式或类型为“.2016”时,它被注册为类型“文件” “当我把一个文件。当在记事本中打开的信息是不可读

这是我目前使用的代码:

Sub saveAttachtoDisk(itm As Outlook.MailItem) 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
Dim dateFormatdateFormat = Format(Now, "dd.mm.yyyy") 
saveFolder = "C:\Users\mypathtotheattachment" 
For Each objAtt In itm.Attachments 
objAtt.SaveAsFile saveFolder & "\" & "thenewnameofmyattachment" & ".csv" 
Next 
End Sub 

任何帮助是值得欢迎的,我扫描各地的任何信息的地方,但我被困...

谢谢!

+0

会发生什么事,如果你离开的名字一样吗?例如。如果你做objAtt.SaveAsFile objAtt FileName? – Charlie

+0

@Charlie谢谢你的答案,不幸的是我试图改为objAtt.FileName,现在我的宏不再运行,因为我无法解释... –

+0

那么我会开始 - 保存所有附件的方式是有据可查,应该可以工作http://stackoverflow.com/questions/15531093/save-attachments-to-a-folder-and-rename-them – Charlie

回答

0

这是你想要做什么?

Option Explicit 
Public Sub SaveAtmtToDisk(Item As Outlook.MailItem) 
    Dim Atmt As Outlook.Attachment 
    Dim SavePath As String 
    Dim FileName As String 

' // Saved Location 
    SavePath = "C:\temp\" 

' // 05 24 2016 Antoine.csv 
    FileName = Format(Now, "DD MM YYYY") & " Antoine.csv" 

    For Each Atmt In Item.Attachments 
     Atmt.SaveAsFile SavePath & "\" & FileName 
    Next 

    Set Atmt = Nothing 
End Sub 

测试上的Outlook 2010

+0

谢谢@ Om3r,它几乎是这样,但我想把日期和我认为这是食堂的格式,因为我也试过: '子saveAttachtoDisk(ITM作为Outlook.MailItem) 昏暗objAtt作为Outlook.Attachment 昏暗saveFolder作为字符串 昏暗DATEFORMAT DATEFORMAT =格式(现在,“DD。 mm.yyyy“) saveFolder =”C:\ Users \ etc“ For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder& “\” & “NEWNAME” &DATEFORMAT 设置objAtt =无 接下来objAtt 结束Sub' 但格式保存一个文件0.2016所以我尝试:名为 “.csv” 是否有可能结合2? –

+1

这是一切都很好,我切换它,发现我想做什么 'FileName =“Antoine”&Format(Now,“DD.MM.YYYY”)&“.csv”' Thanks @ Om3r and @Charlie –

相关问题