OutlookVBAで複数のノートから単一のファイルを作成する
-
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 Charsの数百の音があります。
解決
このコードは、出力用のテキストファイルを開き、各メモの変更された時間と本文をテキストファイルに書き込みます。ファイルは私のドキュメントフォルダーにあり、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