Erstellen eine einzelne Datei von mehreren Notizen in Outlook VBA
-
10-10-2019 - |
Frage
Derzeit schafft mein VBA-Code eine einzelne Datei für jede Note. Hier einige vereinfachte Beispielcode:
Sub saveNotes()
Set myNote = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderNotes)
For ibi = 1 To myNote.Items.Count
fname = myNote.Items(ibi).Subject
myNote.Items(ibi).SaveAs "C:\Temp\" & fname & ".txt", 0
Next
End Sub
Statt eine einzelne Datei für jede Note zu schaffen, möchte ich eine einzelne Datei für alle Notizen erstellen. Ich bin für die effizienteste Methode suchen, diese Notiz Inhalt und schreibt sie in eine einzelne Datei zu verketten.
Um Sie eine Vorstellung von der Menge der Daten, und wie effizient sie sein sollte, gibt es Hunderte von Notizen mit einer durchschnittlichen Größe von 1024 Zeichen.
Lösung
Dieser Code wird eine Textdatei für die Ausgabe öffnen und die geänderte Zeit und Körper jeder Note in die Textdatei zu schreiben. Die Datei wird in Ordner Eigene Dateien und wird AllNotesYYYYMMDD.txt benannt werden. Sie könnten diesen Weg für Ihr Betriebssystem ändern und wo man tatsächlich die Datei gespeichert werden soll.
Sub SaveNotes()
Dim fNotes As MAPIFolder
Dim ni As NoteItem
Dim sFile As String
Dim lFile As Long
Set fNotes = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderNotes)
lFile = FreeFile
sFile = Environ$("USERPROFILE") & "\My Documents\AllNotes" & Format(Date, "yyyymmdd") & ".txt"
Open sFile For Output As lFile
For Each ni In fNotes.Items
Print #lFile, "Modified:" & vbTab & ni.LastModificationTime & vbNewLine & ni.Body
Print #lFile, "-------------------------------"
Next ni
Close lFile
End Sub