Vba 如何将Outlook邮件转换为文本维护双字节字符集?
我有一个将outlook电子邮件转换为文本的代码。除了使用来自CJK(中文/日文/韩文)语言的DBCS(双字节字符集)接收的电子邮件外,该功能非常有效 我的守则如下:Vba 如何将Outlook邮件转换为文本维护双字节字符集?,vba,outlook,Vba,Outlook,我有一个将outlook电子邮件转换为文本的代码。除了使用来自CJK(中文/日文/韩文)语言的DBCS(双字节字符集)接收的电子邮件外,该功能非常有效 我的守则如下: Sub SaveAsTXT(myMail As Outlook.MailItem) Dim objItem As Object Dim myFolder As Folder ' Get sender email address senderEmAddress = myMail.Sender.Ge
Sub SaveAsTXT(myMail As Outlook.MailItem)
Dim objItem As Object
Dim myFolder As Folder
' Get sender email address
senderEmAddress = myMail.Sender.GetExchangeUser().PrimarySmtpAddress
If Not TypeName(myItem) = "Nothing" Then
strname = myMail.Subject
strdate = Format(myMail.ReceivedTime, "yymmddhhmmss")
myMail.SaveAs "C:\folder\" & strdate & ".txt", olTXT
End If
End Sub
我需要将摘录保留为文本。如果我手动将电子邮件复制到记事本中,如果我使用UTF-8,CJK字符将被正确复制并正确保存
我可以在VBA代码中添加什么来正确捕获CJK字符?您可以读取
MailItem.Body
属性(与所有COM字符串一样,它是UT-16),显式构建标头,将其与消息正文结合,然后自己保存文件
如果使用是一个选项,则其版本的SaveAs(…,olTxt)
没有此问题:
set Session = CreateObject("Redemption.RDOSession")
set msg = Session.GetRDOObjectFromOutlookObject(myItem)
msg.SaveAs "c:\temp\test.txt", olTxt