1

現在、私のVBAコードは、メモごとに1つのファイルを作成します。簡略化したサンプルコードを次に示します。

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

メモごとに1つのファイルを作成するのではなく、すべてのメモに対して1つのファイルを作成したいと思います。これらのメモの内容を連結して単一のファイルに書き込むための最も効率的な方法を探しています。

データの量とその効率を把握するために、平均サイズが1024文字のメモが数百あります。

4

1 に答える 1

2

このコードは、出力用のテキストファイルを開き、各メモの変更された時間と本文をテキストファイルに書き込みます。ファイルはマイドキュメントフォルダにあり、AllNotesYYYYMMDD.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
于 2010-10-21T21:45:28.637 に答える