代码之家  ›  专栏  ›  技术社区  ›  Senseful

在Outlook VBA中从多个笔记创建单个文件

  •  1
  • Senseful  · 技术社区  · 14 年前

    目前,我的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个字符的注释。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Dick Kusleika    14 年前

    此代码将打开一个文本文件进行输出,并将每个注释的修改时间和正文写入文本文件。该文件将位于“我的文档”文件夹中,并命名为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