【发布时间】:2020-06-29 15:48:59
【问题描述】:
我有一个将某种格式的文本替换为超链接的代码。此代码在收到电子邮件期间有效。
收到的电子邮件 -> 将电子邮件复制到 word 编辑器(格式丢失) -> 进行必要的更改 -> 从 word 编辑器复制到 Outlook 邮件项目(再次替换的超链接在邮件项目中丢失)
我的代码在这里供您参考..
Sub IncomingHyperlink(MyMail As MailItem)
Dim strID As String
Dim Body As String
Dim objMail As Outlook.MailItem
Dim strtemp As String
Dim RegExpReplace As String
Dim RegX As Object
Dim myObject As Object
Dim myDoc As Word.Document
Dim mySelection As Word.Selection
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'Set myDoc = objWord.Documents.Open("filename")
'Set objDoc = objWord.Documents.Open("C:\test.doc")
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
objSelection.TypeText "GOOD" & objMail.HTMLBody
With objSelection.Find
.ClearFormatting
.Text = "ASA[0-9][0-9][0-9][0-9][a-z][a-z]"
.Forward = True
.Wrap = wdFindAsk
.MatchWildcards = True
End With
objSelection.Find.Execute
objSelection.Hyperlinks.Add Anchor:=objSelection.Range, _
Address:="http://www.code.com/" & objSelection.Text, _
TextToDisplay:=objSelection.Text
objMail.HTMLBody = objDoc.Range(0, objDoc.Range.End)
objMail.Save
Set objMail = Nothing
End Sub
此外,此代码仅替换所需文本的第一次出现,而不替换其他文本。 请帮助解决这些问题。谢谢...
【问题讨论】:
标签: vba outlook ms-word formatting