После моей тщательной домашней работы я задаю этот вопрос. Пожалуйста, помогите мне решить эту проблему ..
Я хочу найти ASA1234yy в теле текста и заменить его встроенной гиперссылкой [ASA1234yy] [1]
В теле может быть много идентификаторов этого типа, и каждая из этих гиперссылок должна быть уникальной в соответствии с шаблоном
Код сделано до сих пор
Sub ConvertToHyperlink(MyMail As MailItem)
Dim strID As String
Dim Body As String
Dim objMail As Outlook.MailItem
Dim temp As String
Dim RegExpReplace As String
Dim RegX As Object
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
Body = objMail.Body
Body = Body + "Test"
objMail.Body = Body
Set RegX = CreateObject("VBScript.RegExp")
With RegX
.Pattern = "ASA[0-9][0-9][0-9][0-9][a-z][a-z]"
.Global = True
.IgnoreCase = Not MatchCase
End With
RegExpReplace = RegX.Replace(Body, "http://www.code.com/ABCD")
Set RegX = Nothing
objMail.Body = RegExpReplace
objMail.Save
Set objMail = Nothing
End Sub
Этот код заменяет только весь идентификатор. Как добавить идентификатор в гиперссылку.
и после добавления мне нужна встроенная гиперссылка.
спасибо
Хорошо, моя измененная идея ниже ...
Привет ..
Я столкнулся с двумя проблемами в процессе, описанном ниже ..
Преобразование указанного текста, извлеченного из почтового элемента Outlook, в гиперссылки в текстовом документе и сохранение его в почтовом элементе Outlook.
i.e Входящая электронная почта -> Сохранить ее в документе Word -> Изменить текст на гиперссылки-> Сохранить измененный документ WORD в почтовый элемент Outlook
Мой код находит только первый встречающийся текст в документе, заменяет его гиперссылкой и оставляет другие вхождения
После внесения изменений в текстовый документ я хочу скопировать содержимое документа в почтовый элемент outlook.
Форматирование теряется, если в электронной почте есть таблицы и прочее.
Мой код здесь для вас ...
Sub IncomingHyperlink(MyMail As MailItem)
Dim strID As String
Dim Body As String
Dim objMail As Outlook.MailItem
Dim temp 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 objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
objSelection.TypeText "GOOD" & objMail.Body
With objSelection.Find
.ClearFormatting
.Text = "ASA[a-z][a-z][0-9][0-9][0-9][0-9][0-9]"
.Forward = True
.Wrap = wdFindAsk
.MatchWildcards = True
End With
'Find next instance of Pattern "ASA[a-z][a-z][0-9][0-9][0-9][0-9]"
objSelection.Find.Execute
'Replace it with a hyperlink
objSelection.Hyperlinks.Add Anchor:=objSelection.Range, _
Address:="http://www.code.com/" & objSelection.Text, _
TextToDisplay:=objSelection.Text
objDoc.SaveAs ("C:\Desktop\testdoc.doc")
objWord.Quit
objMail.Body = objSelection.Paste
objMail.Save
Set objMail = Nothing
End Sub
Не могли бы вы помочь решить эти две проблемы?