我编写了一个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
有问题的部分是"ProcessMailItem".由于我并不过分关注此阶段的性能,因此对于此示例而言,非常无效的"打开,追加,关闭"文件方法很好.
我知道我可以花点时间用谷歌查找答案,但我先在这里查了一下,但没有好的答案.作为Stackoverflow的粉丝,我希望将其放在这里将有助于未来的开发人员寻找答案.谢谢你的耐心.
只需使用内置的VBA文件工具,您就可以在不使用任何对象的情况下写入文件:
Open "C:\file.txt" for append as 1 Print #1, SomeStringVar Close #1