Vba 使用发件人自动下载附件并重命名';姓名
我有以下代码,可以自动保存任何传入邮件的附件,并使用日期和时间重命名附件,以免覆盖Vba 使用发件人自动下载附件并重命名';姓名,vba,outlook,Vba,Outlook,我有以下代码,可以自动保存任何传入邮件的附件,并使用日期和时间重命名附件,以免覆盖 Public Sub AutoSaveAttachment(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String Dim dateFormat saveFolder = "C:\temp" dateFormat = Format(Now, "mm.dd.yyyy (Hh.Nn)")
Public Sub AutoSaveAttachment(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
saveFolder = "C:\temp"
dateFormat = Format(Now, "mm.dd.yyyy (Hh.Nn)")
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, ".pdf") Then
objAtt.SaveAsFile saveFolder & "\" & "Attch " & dateFormat & "." & "pdf"
End If
Set objAtt = Nothing
Next
End Sub
我想在日期/时间之前添加发件人的姓名。我尝试了下面的代码,但它不起作用。运行时错误
Sub AttachmentDownloader(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim senderName As String
Dim dateFormat
dateFormat = Format(Now, "mmddyyyy_(Hh.Nn)")
senderName = objAtt.senderName & "_"
saveFolder = "C:\temp"
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, ".pdf") _
Or InStr(objAtt.DisplayName, ".xlsx") _
Or InStr(objAtt.DisplayName, ".xlsm") _
Or InStr(objAtt.DisplayName, ".doc") _
Or InStr(objAtt.DisplayName, ".docx") Then
objAtt.SaveAsFile saveFolder & "\" & senderName & dateFormat & objAtt.DisplayName
End If
Set objAtt = Nothing
Next
End Sub
非常感谢您的帮助。运行时错误“424:Object Required”,因为您尚未分配给objAtt
变量。您有一个实例化但未分配的对象变量
这可能是一个附件
对象,但这将引发“未找到方法或数据成员”错误,因为没有属于的senderName
属性
因此,请尝试:
senderName = itm.senderName & "_"
运行时错误是什么?哪一行引发错误?(请参阅)此行给出了运行时错误senderName=objAtt.senderName&“\u0”。大卫知道了,谢谢大家。我被这件事耽搁了一段时间。是的,我猜得太多了。见下面的答案:)