|
我自己在网络上DOWN了一段自动收取邮件的VBA代码,原本是在access上的,我改到excel上就开始报错了。
哪个大神帮忙看看,网络上关于outlook对象的教程信息太少了。。。。只能臭不要脸的做一次伸手党了。。。。。
大神们帮忙把邮件正文处理到单元格里或者变量里,从正文筛选内容的工作我自己来
这个主要是把所有未读邮件的正文都放到excel单元格里,方便做后期处理和筛选。
能不能加一个时间节点,就是可以设定只收取那个时间段的。
- Sub inputEmail()
- Dim myolApp As New Outlook.Application '创建Outlook应用程序对象
- Dim myNamespace As Outlook.Namespace
- Dim myFolder As Outlook.MAPIFolder
- Dim myattachments As Outlook.Attachments
- Dim i As Integer
- Set myNamespace = myolApp.GetNamespace("MAPI") '获取MAPI命名空间
- Set myFolder = myNamespace.GetDefaultFolder(FolderType) '获取默认文件夹为收件箱
- For i = 1 To myFolder.Items.Count
- With myFolder.Items(i)
- If EmailEntryID = .EntryID Then
- Sheets("sheet1").Cells(i, 1) = .EntryID
- Sheets("sheet1").Cells(i, 2) = .UnRead '未读标志
- Sheets("sheet1").Cells(i, 3) = .SenderName '发件人姓名
- Sheets("sheet1").Cells(i, 4) = .SenderEmailAddress '发件人电子邮件地址
- Sheets("sheet1").Cells(i, 5) = .CC '抄送
- Sheets("sheet1").Cells(i, 6) = .BCC '秘密抄送
- Sheets("sheet1").Cells(i, 7) = .Subject '主题
- Sheets("sheet1").Cells(i, 8) = .LastModificationTime '发送日期和时间
- Sheets("sheet1").Cells(i, 9) = .Body '正文
- Sheets("sheet1").Cells(i, 10) = .HTMLBody '正文
- Sheets("sheet1").Cells(i, 11) = .Size '大小
- Sheets("sheet1").Cells(i, 12) = .Importance '重要性
- Sheets("sheet1").Cells(i, 13) = IIf(.Attachments.Count > 0, True, False)
- End If
- End With
- Next
- Set myolApp = Nothing
- Set myNamespace = Nothing
- Set myFolder = Nothing
-
- GetOutlookEmail_Exit:
- Exit Sub
-
- GetOutlookEmail_Err:
- Set myolApp = Nothing
- Set myNamespace = Nothing
- Set myFolder = Nothing
- MsgBox Err.Description, vbCritical, "提示"
- End Sub
复制代码
|
|