1
什么是从Outlook 2007文件夹导出邮件到CSV文件的最好方法?我想在子文件夹中包含邮件消息。内置的csv导出器不允许包含子文件夹的选项,但除此之外完全符合我的要求。出口前景2007年邮件文件夹和子文件夹到csv
什么是从Outlook 2007文件夹导出邮件到CSV文件的最好方法?我想在子文件夹中包含邮件消息。内置的csv导出器不允许包含子文件夹的选项,但除此之外完全符合我的要求。出口前景2007年邮件文件夹和子文件夹到csv
我会说Office Automation是去这里的方法.. 如果您安装了Excel,您可以直接将属性插入到工作表上的单元格中。您可以在Excel中编写宏来自动化Outlook,或者您可以在Outlook中编写宏以将数据推送到工作表中。
下面,我已经创建了一个前景快件VBA和使用FSO做肮脏的工作,而不是,它会给你一个骷髅从,工作,它需要更多的错误处理测试等
Sub SaveItemsToExcel()
On Error GoTo ErrorHandlerExit
Dim oNameSpace As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
'You must set a reference to the Microsoft Scripting Runtime library touse the FileSystemObject
Dim objFS As Scripting.FileSystemObject
Dim objOutputFile As Scripting.TextStream
Set objFS = New Scripting.FileSystemObject
Set objOutputFile = objFS.OpenTextFile("C:\Temp\Export.csv", ForWriting, True)
Set oNameSpace = Application.GetNamespace("MAPI")
Set oFolder = oNameSpace.PickFolder
If oFolder Is Nothing Then
GoTo ErrorHandlerExit
End If
' Check if folder can contain Mail Items
If oFolder.DefaultItemType <> olMailItem Then
MsgBox "Folder does not contain mail messages"
GoTo ErrorHandlerExit
End If
'Write header line
objOutputFile.WriteLine "From,Subject,Recived"
ProcessFolderItems oFolder, objOutputFile
objOutputFile.Close
Set oFolder = Nothing
Set oNameSpace = Nothing
Set objOutputFile = Nothing
Set objFS = Nothing
ErrorHandlerExit:
Exit Sub
End Sub
Sub ProcessFolderItems(oParentFolder As Outlook.MAPIFolder, ByRef objOutputFile As Scripting.TextStream)
Dim oCount As Integer
Dim oMail As Outlook.MailItem
Dim oFolder As Outlook.MAPIFolder
oCount = oParentFolder.Items.Count
For Each oMail In oParentFolder.Items
If oMail.Class = olMail Then
objOutputFile.WriteLine oMail.SenderEmailAddress & "," & oMail.Subject & "," & oMail.ReceivedTime
End If
Next oMail
Set oMail = Nothing
'check to see if we have an child folders
If (oParentFolder.Folders.Count > 0) Then
For Each oFolder In oParentFolder.Folders
ProcessFolderItems oFolder, objOutputFile
Next
End If
End Sub
Marcus
马库斯,非常感谢你提供这个脚本!它在第一次尝试中完美运行。我需要做的唯一改变就是从田野中取出逗号,因为我的科目中有逗号。我也查找了MailItem对象,所以我可以访问其他字段。非常感谢你,你为我省下了很多时间! – Noel 2010-02-20 19:53:38
顺便说一句,我真的很喜欢能够选择文件夹,而不是硬编码到脚本中的功能,好:) – Noel 2010-02-20 19:58:58