Vba Outlook mailitem.sender在Excel中生成错误287
我正在尝试提取共享邮箱中Outlook邮件项目的详细信息 为了方便同事,我在Excel中创建了宏 它的下降速度是:Vba Outlook mailitem.sender在Excel中生成错误287,vba,excel,outlook,mailitem,Vba,Excel,Outlook,Mailitem,我正在尝试提取共享邮箱中Outlook邮件项目的详细信息 为了方便同事,我在Excel中创建了宏 它的下降速度是: sender = olItem.sender 在OutlookVBA中,它提取电子邮件发件人的名称 在Excel中,它会导致 运行时错误287应用程序定义或用户定义错误 每封邮件都会发生这种情况。如果我删除/注释掉出错的代码行,那么它会成功地拉出主题行以及收到的日期和时间 Sub GetEmailData() Dim olApp As Outlook.Application D
sender = olItem.sender
在OutlookVBA中,它提取电子邮件发件人的名称
在Excel中,它会导致
运行时错误287应用程序定义或用户定义错误
每封邮件都会发生这种情况。如果我删除/注释掉出错的代码行,那么它会成功地拉出主题行以及收到的日期和时间
Sub GetEmailData()
Dim olApp As Outlook.Application
Dim NS As Outlook.Namespace
Dim Inbox As Outlook.MAPIFolder
Dim objOwner As Outlook.Recipient
Dim olItem As Outlook.MailItem
Dim subject As String
Dim sender As String
Dim senddate As String
Dim homebook As Workbook, homesheet As Worksheet
Set homebook = Workbooks("Email Log.xlsm")
Set homesheet = homebook.Worksheets("Sheet1")
'Clear contents
homesheet.Range("A4:D100").Delete
Set olApp = Outlook.Application
Set NS = olApp.GetNamespace("MAPI")
Set objOwner = NS.CreateRecipient("***email address of mailbox***")
Set Inbox = NS.GetSharedDefaultFolder(objOwner, olFolderInbox)
n = 4
For Each olItem In Inbox.Items
subject = olItem.subject
sender = olItem.sender
senddate = olItem.ReceivedTime
homesheet.Range("B" & n).Value = subject
homesheet.Range("C" & n).Value = sender
homesheet.Range("A" & n).Value = senddate
n = n + 1
Next
homesheet.Range("A1").Value = "Last Updated: " & Now()
homesheet.Range("A2").Value = "Number of Items: " & Inbox.Items.Count
End Sub
我不能重现你的错误。您的收件箱是否包含没有发件人的邮件?可以在任何邮箱中存储文件、便笺和草稿。我可以确认邮箱中只包含已在中接收的电子邮件,并且所有邮件都有发件人。如果目标数据的代码正常工作,那么您认为我的计算机上的Excel设置有问题吗?例如,我启用了哪些库等?这种情况是否仅针对特定消息?它是否发生在您处理大量(100+个)邮件之后?不,每封邮件都会发生这种情况,并且邮件大小只有kb,没有附件。如果我删除/注释掉了出错的代码行,那么其余的代码就可以正常工作了,它成功地拉出了主题行和收到的日期和时间。