Как использовать регулярное выражение для замены текста в пересылаемом письме

У меня есть следующий код, который я взял, niton (VBA для пересылки писем в Outlook).

Private Sub objInboxItems_ItemAdd(ByVal item As Object)

    Dim objMail As MailItem
    Dim objForward As MailItem
    
    Dim beginStr As String
    Dim lenBegin As Long

    beginStr = "Report - Daily Sales"
    lenBegin = Len(beginStr)

    If TypeOf item Is MailItem Then

        Set objMail = item

        'New email where the "beginning is the same"
        If Left(objMail.Subject, lenBegin) = beginStr Then

            Set objForward = objMail.Forward

            'Customize the forward subject, body and recipients'
            With objForward
                .Subject = "Daily Sales Report as of: " + Format(Now(), "mm/dd/yyyy")
                .HTMLBody = objForward.HTMLBody
                .Recipients.Add ("Rkartye@freebirds.com")
                .Display    '.Send
            End With

        End If
    End If
End Sub

Он отлично работает и меняет тему, но я не могу понять, как удалить текст из тела. Я удалю весь текст и оставлю только изображения, если есть функция для этого, было бы лучше, если нет хорошего учебника или примера о том, как использовать замену и регулярное выражение с заменой? Достойно в VBA в Excel, но впервые в Outlook.

Спасибо

1 ответ
1

Я вижу, вы работаете с objForward.HTMLBody — вот регулярное выражение, которое я пробовал на regex101.com:

(<(img|IMG) [^>]+>)

Что я тестировал со следующей строкой

<HTML><BODY>This is text <img src="https://example.com/path/test.img" /> and then <IMG src="https://example.com/path/test2.img" /></BODY></HTML>

Вы можете использовать это, чтобы вытащить все спички, а затем обернуть их новым набором тегов и.

Надеюсь, это поможет, но я, к сожалению, не могу помочь с VBA для кода для настройки поиска по регулярным выражениям — однако вот ссылка, которая может предоставить пример на этом фронте:

https://stackoverflow.com/questions/65195118/regular-expression-in-excel-vba-to-perform-exact-match

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *