(更新)- 此脚本当前运行的方式是当您在活动电子邮件文件夹 (...@ .com/inbox) 或 (...@ .com/deleted) 中时,它会在该电子邮件文件夹上运行脚本。因此,Outlook 会自动知道选择了哪个电子邮件。我希望它始终这样做 thisemail@thisplace.com。这是通过 Outlook 的 VBA 运行的
所以我有这个简洁的 VBA 脚本,可以将我的收件箱文件夹从 Outlook 中选定的电子邮件地址导出到 Microsoft Excel。我想要的事情是进一步自动化,以便将电子邮件地址硬编码到脚本中。基本上我不想选择一个电子邮件地址来运行脚本,我只想让脚本始终在一个特定的电子邮件地址上运行。这是我的代码:
Sub Extract()
On Error Resume Next
Set myOlApp = Outlook.Application
Set myfolder = myOlApp.ActiveExplorer.CurrentFolder
Set xlobj = CreateObject("excel.application.14")
Set xlobjWbk = xlobj.Workbooks.Open("c:\Users\(my username)\Desktop\Example.xlsx")
xlobj.Visible = True
xlobj.EnableEvents = True
'Set Heading
xlobj.Range("a" & 1).Value = "Recieved Time"
xlobj.Range("b" & 1).Value = "Sender Email"
xlobj.Range("c" & 1).Value = "Subject"
xlobj.Range("d" & 1).Value = "Sender Name"
xlobj.Range("e" & 1).Value = "Body"
For i = 1 To myfolder.Items.Count
Set myItem = myfolder.Items(i)
msgtext = myItem.body
xlobj.Range("a" & i + 1).Value = myItem.ReceivedTime
xlobj.Range("b" & i + 1).Value = myItem.SenderEmailAddress
xlobj.Range("C" & i + 1).Value = myItem.Subject
xlobj.Range("d" & i + 1).Value = myItem.SenderName
xlobj.Range("e" & i + 1).Value = msgtext
Next
End Sub