0

我正在使用 VBA 代码将电子邮件转发到我的 CRM 软件。

我的 Outlook 是葡萄牙语,因此转发的电子邮件带有以下字段:

发件人:sender@sender.com

段:recipient@recipient.com

对于此宏发送的电子邮件,我想将此字段标签翻译成英文。那将返回:

发件人:sender@sender.com

收件人:recipient@recipient.com

也许更改项目正文中的那些字段。

这是我转发电子邮件的 VBA 代码:

Sub ForwardEmailOnButtonClick()
     Dim oApp As Outlook.Application
     Dim objFolder As Outlook.MAPIFolder
     Set oApp = New Outlook.Application
     Set objNS = Application.GetNamespace("MAPI")
     Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
     Set objFolder = objInbox.Folders("Helpdesk")
     Dim oEmail As Outlook.MailItem

     For Each objItem In Application.ActiveExplorer.Selection
         If objFolder.DefaultItemType = olMailItem Then
             If objItem.Class = olMail Then

                 Set myForward = objItem.Forward

                 Set objRecip = myForward.Recipients.Add("recipient@rec.com") 

                 myForward.SenderEmailAddress = objItem.SenderEmailAddress
                 myForward.SenderName = objItem.SenderName                  

                 myForward.Send

             End If
         End If
     Next
End Sub

编辑:

由于一些帖子和大卫的评论警告我更改语言是一件更难的事情,我想专注于将这两个标签更改为“发件人:”和“收件人:”,以便我的 CRM 软件能够识别它们。

该方法不需要经历改变语言的困难。

4

1 回答 1

1

好的,试试这个,它应该改变项目中的字段.Body

         myForward.SenderEmailAddress = objItem.SenderEmailAddress
         myForward.SenderName = objItem.SenderName

        'Attempt a simple text replace from Portugese to English
        ' this should replace the FIRST instance of "De:" and "Para:" and "FWD:" with the English equivalent

        myForward.Body = Replace(myForward.Body, "De: ", "From: ", 1, 1)
        myForward.Body = Replace(myForward.Body, "Para: ", "To: ", 1, 1)

        'Optionally, replace "FW" with Portugese equivalent:
        'myForward.Subject = Replace(myForward.Subject, "FW: ", "_REPLACEMENT TEXT_", 1, 1)
        myForward.Send
于 2014-03-31T15:33:21.687 回答