Добавление подписи по умолчанию в электронную почту Outlook VBA

Я пытаюсь получить свою подпись по умолчанию и применить ее к электронной почте, которую я настроил с помощью пользовательской формы. Я попробовал несколько вариантов, включая этот: Как добавить подпись по умолчанию в Outlook

но похоже не работает...

Private Sub addUpdate_Click()
 Dim mailObj As MailItem
 Dim mailBody, signature As String
 Dim oMail, oApp As Object

newUser.Hide

Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(0)

With oMail
    .Display
End With
signature = oMail.body

Set mailObj = CreateItem(olMailItem)

mailBody = "<HTML><BODY><P>Hi " & firstName.Value & ",</P>" _
            & "<P>Thank you for your interest in the <STRONG>Metropolitan Sales</STRONG> website.</P>" _
            & "<P>Some of the features of the website include:</P>" _
            & "<UL><LI>Placing Orders</LI><LI>Order status & tracking</LI><LI>Detailed product information</LI>" _
            & "<LI>Specification sheets in PDF for all products</LI></UL>" _
            & "<P>These features can be accessed at:</P>" _
            & "<P><a href= 'http://www.metsales.com'>www.metsales.com</a>, then click on Catalog</p>" _
            & "<p><strong>Username : </strong>" & username.Value & "<br>" _
            & "<strong>Password  : </strong>" & password.Value & "</p>" _
            & "<p>Feel free to contact me should you have any questions.</p><br>" _
            & "<p>Thank you,</p>" & signature & "</body></html>"

With oMail
    .Recipients.add (email.Value)
    .Subject = "Metropolitan Sales Username and Password"
    .BodyFormat = olFormatHTML
    .HTMLBody = mailBody
    .Send
 End With
 Unload newUser
End Sub

person Adjit    schedule 30.09.2013    source источник
comment
Вы никогда не устанавливаете signature на что-либо. Посмотрите на сообщение, на которое вы ссылаетесь, и вы увидите, что при первом создании письма HTMLBody является подписью. Вы сохраняете его в signature, а затем добавляете обратно в конец, как это пытается сделать ваш текущий код.   -  person Doug Glancy    schedule 01.10.2013
comment
Помечен как дубликат Как добавить подпись по умолчанию в Outlook. Если есть конкретная проблема, не описанная в этом посте или в комментарии @DougGlancy, измените вопрос :)   -  person David Zemens    schedule 01.10.2013
comment
Также обратите внимание, что вы должны правильно Dim mailiBody as String, signature As string просто на всякий случай.   -  person David Zemens    schedule 01.10.2013
comment
Итак, мне удалось заставить подпись работать (моя форма показывалась, когда я пытался отобразить начальный почтовый элемент, и это вызвало ошибку). Но теперь моя проблема, из того, что я могу понять, заключается в том, что мое тело представляет собой тело html, и подпись - это просто обычное тело, оно не отображается так, как я хочу. Я перепостил свой обновленный код, но у меня в подписи есть несколько изображений в формате jpeg со ссылками на твиттер, фейсбук и прочее, но теперь все, что появляется, это ГИПЕРССЫЛКА и т. д. и www.xyz.com   -  person Adjit    schedule 01.10.2013


Ответы (1)


Итак, я понял, как это сделать... Нет необходимости создавать переменную oApp, так как она вызывается из работающего экземпляра Outlook.

Мне также нужно было установить BodyFormat на olFormatHTML

Set oMail = CreateItem(0)
With oMail
    .BodyFormat = olFormatHTML
    .Display
End With
signature = oMail.HTMLBody
person Adjit    schedule 23.04.2014