Каков наилучший способ экспортировать почту из папки Outlook 2007 в файл CSV? Я также хотел бы включить почтовые сообщения в подпапки. Встроенный экспортер csv не позволяет включать вложенные папки, но в остальном делает именно то, что я хочу.экспорт Outlook 2007 почтовая папка и вложенные папки в csv
1
A
ответ
2
Я бы сказал, что Office Automation - это путь сюда. Если у вас установлен Excel, вы можете напрямую вставить свойства в ячейки на листе. Вы можете написать макрос в Excel для автоматизации внешнего вида, или вы можете написать макрос в 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
Маркус
Смежные вопросы
- 1. Почтовая папка исключает некоторые папки
- 2. Экспорт задач Outlook 2007
- 3. ICACLS Папка и вложенные папки
- 4. Почтовая папка в C#
- 5. Outlook Contact Экспорт в формат CSV разницы
- 6. Экспорт папки в PST в CSV
- 7. C папки # и вложенные папки
- 8. Почтовая папка на части?
- 9. Почтовая папка с FTP
- 10. Экспорт CSV-файла в Excel 2007
- 11. Автоматический экспорт общей папки Outlook в файл iCal
- 12. Экспорт Ссылки outlook
- 13. Почтовая папка с Visual Basic 2010
- 14. Экспорт/Импорт событий в календарь Outlook 2007 - проблема
- 15. Итерации через вложенные папки Outlook и входящих почтовых ящиков
- 16. MAPI недвижимости, чтобы получить нежелательной папки в Outlook, 2007
- 17. Outlook 2007 Ribbon и MVP
- 18. Получить связанную учетную запись из папки в Outlook 2007
- 19. Sharepoint 2007 - Навигационные папки
- 20. Экспорт в Word 2007
- 21. Подсчитать папки и вложенные папки в Sharedmailbox
- 22. Вложенные папки и mod-rewrite
- 23. Outlook 2007 Multi Select folders
- 24. поиск папки и открытая папка
- 25. Удалить вложенные папки и файлы в vb.net
- 26. «Папка папки» в htaccess
- 27. mkdir и вложенные папки
- 28. FolderBrowserDialog вложенные папки
- 29. VBA: папка почтового ящика Outlook, подсчет ключевых слов в теме и теле и экспорт в Excel
- 30. Периодические события и экспорт Outlook
Маркус, спасибо большое за предоставление этого сценария! Это сработало отлично с первой попытки. Единственное изменение, которое мне нужно было сделать, это вынуть запятые из полей, потому что у меня были предметы с запятыми. Я также просмотрел объект MailItem, чтобы получить доступ к другим полям. Большое вам спасибо, вы спасли мне много времени, выясняя это самостоятельно! – Noel
Btw, мне очень нравится возможность выбора папки вместо жесткого кодирования ее в скрипт, приятно :) – Noel