我对VBA很新,但任何帮助都会非常感激!
问题:
我从工作中得到一系列引用,这些引用是电子邮件形式,但包含一个或多个附件文件。我希望它们自动存储在文件夹下,如下所示:
C:\ Users \ username \ Desktop \ Quotes \ ######## \
#########在电子邮件的主题行中给出,格式为:"标准报价########"。
到目前为止,我已经了解了如何自动将文件保存在一个\ Quotes \文件夹中,但我不知道如何从主题中提取数字字符串########电子邮件的标题......
Public Sub saveQuote(itm As Outlook.MailItem)
Dim myItem As MailItem
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "C:\Users\user\Desktop\Quotes"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & myItem.Subject & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
答案 0 :(得分:0)
试试这个,因为我评论过:
如果数字部分固定为8个字符
Dim myqoute
myqoute = Right(itm.Subject, 8)
如果没有,请使用Split
myqoute = Split(itm.Subject, " ")(Ubound(Split(itm.Subject, " ")))
然后在您的文件名中使用它
但是,如果要创建目录(每个qoute号的子文件夹),请使用MkDir
。
MkDir "C:\Users\" & Environ$("username") & "\Desktop\Qoutes\" & myqoute
objatt.SaveAsFile "C:\Users\ & Environ$("username") & "\Desktop\Qoutes" & _
myqoute & "\" objatt.DisplayName
我使用Environ
功能来提高用户灵活性
希望这会有所帮助。