Как удалить фразу из электронной почты? - PullRequest
0 голосов
/ 31 октября 2019

Я хочу удалить следующую фразу в начале каждого письма из источников, отличных от определенного домена:

"Это ВНЕШНЕЕ электронное письмо. Не нажимайте ссылки и не открывайте вложения, пока вы не подтвердитеотправителю и знаю, что содержимое в безопасности. "

Я пытаюсь удалить эту фразу из каждого письма.

Я получил код в Интернете от другого человека, пытающегося сделать что-то подобное.

Sub Del()

Dim Ins As Outlook.Inspector
Dim Document As Word.Document
Dim Word As Word.Application
Dim Selection As Word.Selection

Set Ins = Application.ActiveInspector
Set Document = Ins.WordEditor
Set Word = Document.Application
Set Selection = Word.Selection

Dim search As String
search = "This is an EXTERNAL email. Do not click links or open attachments unless you validate the sender and know the content is safe."

Dim para As Paragraph
For Each para In Document.Paragraphs

    Dim txt As String
    txt = para.Range.Text

    If InStr(txt, search) Then
        para.Range.Delete
    End If

Next

End Sub

Я получаю

Ошибка времени выполнения '91'

в строке 9 Set Document.

1 Ответ

0 голосов
/ 03 ноября 2019

, который работает намного проще в Outlook:

sub delete_part_of_text()

  Dim search As String
  search = "This is an EXTERNAL email. Do not click links or open attachments unless you validate the sender and know the content is safe."

  If Not TypeOf Item Is mailitem Then Exit Sub
  Item.HTMLBody = Replace(Item.HTMLBody, search, "")
end sub

, конечно, вы должны адаптировать это - если это будет запускаться автоматически при каждом входящем письме, вы будете вызывать его при необходимости для одного / нескольких писем? Это меняет вызов процедуры, но принцип работает.

Макс

...