我希望将每封收到的电子邮件的发件人姓名添加到已保存的附件项目中,方法是存储到变量中以便稍后使用,以便将电子邮件返回到该名称或电子邮件地址。
下面的代码首先为文件夹中的每个项目创建一个计数器,并使用日期和原始附件重命名该文件,如下所示:" 2016-01-29 1026 1 POCreation" - " POCreation"之前的数字1是柜台。
然后我通过运行Outlook中的规则来保存附件,以便在脚本下运行 - 您可能知道 - 并使用objAtt.DisplayName保存附件名称
所以基本上我想知道发件人的名字或发件人的电子邮件存储在变量上。我访问的所有论坛,甚至在这里都解释说他们会去&# 34; 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
答案 0 :(得分:0)
itm.senderEmailAddress将为您提供发件人的电子邮件地址。
答案 1 :(得分:0)
您可以使用MailItem类的以下属性:
有关详细信息,请参阅How to: Get the SMTP Address of the Sender of a Mail Item。