簡體   English   中英

保存帶有傳入電子郵件發件人姓名或電子郵件地址的附件

[英]Save attachment with incoming email sender's name or email address

我想通過將每個傳入電子郵件的發件人名稱添加到保存的附件項中,方法是將其存儲到變量中,以便以后使用,以將電子郵件返回該名稱或電子郵件地址。

下面的代碼首先為文件夾中的每個項目創建一個計數器,然后使用日期和原始附件將文件重命名,如下所示:“ 2016-01-29 1026 1 POCreation”-“ POCreation”之前的數字1是計數器。

然后,我通過在Outlook中運行規則以在腳本下運行(如您所知)來保存附件,並使用objAtt.DisplayName保存附件名稱。

所以基本上我想獲取發件人的名稱或存儲在變量中的發件人的電子郵件。 我訪問過的所有論壇,甚至是在這里,都解釋說它們都轉到“ MAPI”文件夾中,以閱讀其中的所有電子郵件,但我認為也許可以像使用.displayname一樣直接使用它。

我嘗試使用mailitem.sendername,但這引發了未找到對象的錯誤,我想不是從傳入的電子郵件中讀取它。 我將其運行到Outlook模塊中。

Public Sub pdf(itm As Outlook.MailItem)
Dim FolderPath As String, path As String, count As Integer
FolderPath = "C:\Users\esacahui\Documents\POS\received"

path = FolderPath & "\*.xlsm"

FileName = Dir(path)

Do While FileName <> ""
    count = count + 1
    FileName = Dir()
Loop
' that was the counter, now is the save attachment 

Dim objAtt As Outlook.Attachment
Dim saveFolder As String
    saveFolder = "C:\Users\esacahui\Documents\POS\received"
Dim dateFormat As String
    dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd Hmm")

For Each objAtt In itm.Attachments
    objAtt.SaveAsFile saveFolder & "\" & dateFormat & " " & count & " " & objAtt.DisplayName
Next

End Sub

itm.senderEmailAddress將為您提供發件人的電子郵件地址。

您可以使用MailItem類的以下屬性:

  • SenderEmailAddress-一個字符串,代表Outlook項目發件人的電子郵件地址。
  • SenderName-一個字符串,指示Outlook項目的發件人的顯示名稱。

有關更多信息,請參見如何:獲取郵件項目的發件人的SMTP地址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM