Вставить подпись по умолчанию с изображением в электронное письмо - PullRequest
0 голосов
/ 26 мая 2020

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

Я нашел в Интернете разные полезные вещи, но могу ' t заставить его работать. Я новичок в VBA, поэтому все еще учусь.

Приведенный ниже код работает с нужным мне адресом электронной почты - ожидайте подписи, поскольку я удалил весь этот код, так как я не мог заставить его работать.

Любая помощь будет принята с благодарностью.

Sub EmailCreator()

ActiveWorkbook.Save

    Dim olApp As Outlook.Application
    Dim olMail As Outlook.MailItem
    Dim blRunning As Boolean

    blRunning = True
    On Error Resume Next
    Set olApp = GetObject(, "Outlook.Application")
    If olApp Is Nothing Then
        Set olApp = New Outlook.Application
        blRunning = False
    End If

    On Error GoTo 0

    strBody = "This is my message in HTML format"

    Set olMail = olApp.CreateItem(olMailItem)

    With olMail
        .Subject = "abc"
        .Attachments.Add ActiveWorkbook.FullName
        .HTMLBody = strBody
        .Display
    End With

    If Not blRunning Then olApp.Quit

    Set olApp = Nothing
    Set olMail = Nothing


End Sub

1 Ответ

1 голос
/ 26 мая 2020

Во-первых, Outlook вставит подпись по умолчанию при вызове Display , если тело сообщения еще не было изменено.

Во-вторых, как только вы позвоните Display (и тело сообщения заполняется подписью), вам нужно будет объединить две строки HTML, а не просто установить свойство HTMLBody (которое уничтожит подпись), а не объединить две строки HTML (которые не могут создать действительный HTML документ), но объединить . Самый простой - найти позицию подстроки «<body», прокрутить до следующего символа «>» (чтобы позаботиться о теге body с атрибутами), а затем вставить HTML после этого «> "символ.

...