2014-03-30 24 views
2

我很新的VBA,但任何幫助將非常感激救Outlook附件中的子文件夾!如何基於主題串

問題:

我得到了一系列的工作,從報價,這是在電子郵件的形式,但包括1個或多個附件文件。我希望他們能夠自動一個文件夾下存儲如下:

C:\ Users \用戶名\桌面\行情\ ######## \

的######## #在電子郵件的主題行中給出,格式爲:「標準報價########」。

到目前爲止,我已經知道如何自動將文件保存在一個\ 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

如果數值是主題的最後一部分,這應該很容易。嘗試'正確的功能'或更好的,'分裂功能'。 – L42

回答

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功能爲用戶的靈活性。
希望這會有所幫助。