Как исправить мой код VBA, чтобы дата в содержимом электронной почты не была статичной

У меня возникают трудности при изменении кода VBA, чтобы статические даты в содержимом электронной почты стали динамическими. Можете ли вы просмотреть мой код и сообщить мне мою ошибку?

Этот код предназначен для отправки электронных писем группе людей. В электронном письме есть несколько дат, которые могут периодически меняться. Поэтому я хотел бы иметь возможность обновлять ОДНУ КЛЕТКУ (L3) в Excel и автоматически изменять дату в содержимом электронной почты (включая заголовок).

Sub Mail_small_Text_Change_Account()

    Dim cel As Range
    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Dim strbody As String

    Set OutApp = CreateObject("Outlook.Application")

    On Error GoTo cleanup
    For Each cell In Columns("D").Cells.SpecialCells(xlCellTypeConstants)
        If cell.Value Like "?*@?*.?*" And _
           Cells(cell.Row, "G") = "Y" Then

    strbody = "Dear " & Cells(cell.Row, "C").Value _
                      & vbNewLine & vbNewLine & _
                        "Please confirm by" & Cells(cell.Row, "L3").Value _ & " so that we may be able to "

    Set OutMail = OutApp.CreateItem(olMailItem)
    On Error Resume Next
        With OutMail
            .To = cell.Value
            '.CC = cel.Offset(0, 3).Value
            .Subject = "Action may be required by" & Cells(cell.Row, "L3").Value _
            .Body = strbody
            .SendUsingAccount = OutApp.Session.Accounts.Item(3)
            .Display   'or use .Send
            End With
            On Error GoTo 0
            Set OutMail = Nothing
        End If
    Next cell

cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub

0 ответов

Другие вопросы по тегам