从Outlook VBA中的多个注释创建一个文件
-
10-10-2019 - |
题
当前,我的VBA代码为每个音符创建一个文件。这是一些简化的示例代码:
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
我不想为每个注释创建一个文件,而是要为所有注释创建一个文件。我正在寻找最有效的方法来串联这些音符的内容并将其写入单个文件。
为了让您了解数据量以及应有的效率,有数百个音符的平均大小为1024个字符。
解决方案
此代码将打开一个文本文件,用于输出,并将每个音符的修改时间和正文写入文本文件中。该文件将在您的我的文档文件夹中,并将命名为AllNotesyyymmdd.txt。您可以根据操作系统以及实际想要存储的文件更改该路径。
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
不隶属于 StackOverflow