当前,我的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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top