|
如何读取 outlook 中 自建文件夹 的 未读邮件数据
请教各位大侠,下列代码是从outlook默认收件箱中读取未读邮件,我将特定标题邮件 转入到 自建邮件文件夹,那如何获取 自建邮件文件夹 的对象 来读取邮件呢?
outlook 2007 安装后,有默认在C:盘的个人文件夹,里面包括 收件箱,发件箱等子目录邮件文件夹,而我自己在D:又建了与c盘一样的个人文件夹,为便于重装电脑时仍能保留以前邮件,在d盘个人文件夹的收件箱下又建了 用于不同内容类别的邮件,现在问题是 如何 获取 自建的个人文件夹之下的收件箱之下的子邮件文件夹 对象 来读取其中邮件????
Sub MailExportToExcel()
Set myOlApp = CreateObject("Outlook.Application") '建立OUTLOOK实例
Set myNameSpace = myOlApp.GetNamespace("MAPI") '得到本邮件的命名空间
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox) '得到收件箱的邮件集合 ----- 〉 如何改为 自建的特定文件夹对象??????
'Set myxlapp = CreateObject("excel.Application") '建立EXCEL实例
With Sheets(2)
'.Workbooks.Open ("d:\1.xls") '打开用于保存邮件的EXCEL文件
'j = .WorksheetFunction.CountA(.Columns(1)) '得取最后一行行号
For i = 1 To myfolder.Items.Count '历便所有邮件
If myfolder.Items(i).UnRead = True Then '如果是未读的(新的邮件)就开始写入到EXCEL里
j = j + 1 '得取要写入的行号
If j >= 65534 Then MsgBox "row is full. Pls change aother sheet.": Exit Sub '如果EXCEL表已经被写完,则退出程序
.Cells(j, 1) = myfolder.Items(i).Subject '第二列写入标题
.Cells(j, 2) = CStr(myfolder.Items(i).Body) '第三列写入内容
End If
Next i
.ActiveWorkbook.Save '工作表保存
.Quit '退出EXCEL程序
End With
End Sub |
|