Outlook 2010 宏“将电子邮件另存为文件”添加不需要的换行符

问题描述

我正在使用 Outlook 2010 的 VBA 宏,它将每封传入的电子邮件保存为一个文件。这个作品和来源如下:

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Dim Ns As Outlook.NameSpace
  Set Ns = Application.GetNamespace("MAPI")
  Set Items = Ns.GetDefaultFolder(olFolderInBox).Items
End Sub

Private Sub Items_ItemAdd(ByVal Item As Object)
  If TypeOf Item Is Outlook.MailItem Then
    SaveMailAsFile Item
  End If
End Sub

Private Sub SaveMailAsFile(oMail As Outlook.MailItem)
  Dim dtDate As Date
  Dim sName As String
  Dim sFile As String
  Dim sExt As String
  
  sPath = "C:\bult\mail\"
  sExt = ".msg"
  sName = oMail.Subject
  ReplaceCharsForFileName sName,"_"
  dtDate = oMail.ReceivedTime
  sName = Format(dtDate,"yyyymmdd",vbUseSystemDayOfWeek,_
    vbUseSystem) & Format(dtDate,"-hhnnss",_
    vbUseSystemDayOfWeek,vbUseSystem) & "-" & sName & sExt

  oMail.SaveAs sPath & sName,olSaveAsMsg
End Sub

Private Sub ReplaceCharsForFileName(sName As String,_
  sChr As String _
)
  sName = Replace(sName,"/",sChr)
  sName = Replace(sName,"",":","?",Chr(34),"<",">","|",sChr)
End Sub

问题一旦保存为文件,就会添加原始电子邮件中没有的换行符。例如,下面的单行字符串最终被分成 4 行:

1:[POST]^testcompany^TEST009^7/20/21 Cleveland,OH 44101 03:00 PM - 05:00 PM ^Training Course^7-20-21 Cleveland,OH^42141^State:1^ CFP:1^CIMA:1^CPE:0^CPFA:0^CHFC:0^CLU:0^CRPC:0^CRPS:0^7/20/21^Cleveland,OH 44101^03:00 PM - 05:晚上 00 点^

将电子邮件另存为文件时,我是否可以做一些不同的事情,以便完全保留原始电子邮件中的行结构?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)