Я пытаюсь найти & заменить части тела HTML. Мне удалось это сделать, но не использовать HTML-код, поэтому, как только я запустил макрос, тело письма станет открытым текстом.Замена частей тела при сохранении HTML
Это то, что я пытался сначала:
Sub ReplaceText()
Dim Insp As Inspector
Dim obj As Object
Set Insp = Application.ActiveInspector
Set obj = Insp.CurrentItem
obj.Body = Replace(obj.Body, "TEXT TO FIND", "TEXT TO REPLACE WITH")
Set obj = Nothing
Set Insp = Nothing
End Sub
Поскольку это не сработало, я пытаюсь использовать WordEditor. Мой текущий код ничего не делает.
Public Sub ReplaceText()
Dim objItem As Object
Dim objInsp As Outlook.Inspector
Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim objSel As Word.Selection
On Error Resume Next
Set objItem = Application.ActiveInspector.CurrentItem
If Not objItem Is Nothing Then
If objItem.Class = olMail Then
Set objInsp = objItem.GetInspector
If objInsp.EditorType = olEditorWord Then
Set objDoc = objInsp.WordEditor
Set objWord = objDoc.Application
Set objSel = objWord.Selection
With objSel.Find
.Text = "This is an online meeting"
.Replacement.Text = "TEST TEST"
.Execute Replace:=wdReplaceAll
End With
End If
End If
End If
Set objItem = Nothing
Set objWord = Nothing
Set objSel = Nothing
Set objInsp = Nothing
End Sub
Независимо от того, помогает ли это, удалить On Error Resume Next. «... является наиболее часто используемой и неправильно используемой формой.Он инструктирует VBA по существу игнорировать ошибку и возобновить выполнение на следующей строке кода. Очень важно помнить, что On Error Resume Next никоим образом не« исправляет » " Ошибка." http://www.cpearson.com/excel/errorhandling.htm – niton