使用VBA将电子邮件消息写入Outlook中的平面文件

Cra*_*aig 5 email outlook vba flat-file outlook-vba

我编写了一个VBA应用程序,在Outlook中打开一个文件夹,然后遍历消息.我需要将消息体(通过一些调整)写入单个平面文件.我的代码如下......

Private Sub btnGo_Click()
    Dim objOutlook As New Outlook.Application
    Dim objNameSpace As Outlook.NameSpace
    Dim objInbox As MAPIFolder
    Dim objMail As mailItem
    Dim count As Integer

    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set objInbox = objNameSpace.GetDefaultFolder(olFolderInbox)
    count = 0

    For Each objMail In objInbox.Items
       lblStatus.Caption = "Count: " + CStr(count)
       ProcessMailItem (objMail)
       count = count + 1
    Next objMail

  End If
End Sub
Run Code Online (Sandbox Code Playgroud)

有问题的部分是"ProcessMailItem".由于我并不过分关注此阶段的性能,因此对于此示例而言,非常无效的"打开,追加,关闭"文件方法很好.

我知道我可以花点时间用谷歌查找答案,但我先在这里查了一下,但没有好的答案.作为Stackoverflow的粉丝,我希望将其放在这里将有助于未来的开发人员寻找答案.谢谢你的耐心.

Jon*_*ier 6

只需使用内置的VBA文件工具,您就可以在不使用任何对象的情况下写入文件:

Open "C:\file.txt" for append as 1
Print #1, SomeStringVar
Close #1
Run Code Online (Sandbox Code Playgroud)