Как добавить подпись по умолчанию в Outlook

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

  1. Это будет подпись по умолчанию, которая автоматически добавляется при создании нового письма.

  2. В идеале я бы хотел просто использовать ObjMail.GetDefaultSignature, но я не могу найти ничего подобного.

  3. В настоящее время я использую функцию ниже (найденную в другом месте в интернете) и ссылаюсь на точный путь и имя файла htm. Но это будет использоваться несколькими людьми, и у них может быть другое имя для их стандартного файла подписи htm. Так что это работает, но не идеально:

    Function GetBoiler(ByVal sFile As String) As String
    'Dick Kusleika
    Dim fso As Object
    Dim ts As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
    GetBoiler = ts.readall
    ts.Close
    End Function
    

    (Вызывается с помощью getboiler(SigString = "C:\Users\" & Environ("username") & "\AppData\Roaming\Microsoft\Signatures\Mysig.txt"))

Edit

Благодаря JP (см. комментарии), я понял, что подпись по умолчанию отображается сначала, но она исчезает, когда я использую HTMLBody для добавления таблицы в письмо. Так что теперь я думаю, что мой вопрос заключается в следующем: Как мне отобразить подпись по умолчанию и при этом отобразить html-таблицу?

Sub X()
    Dim OlApp As Outlook.Application
    Dim ObjMail As Outlook.MailItem

    Set OlApp = Outlook.Application
    Set ObjMail = OlApp.CreateItem(olMailItem)

    ObjMail.BodyFormat = olFormatHTML
    ObjMail.Subject = "Subject goes here"
    ObjMail.Recipients.Add "Email goes here"

    ObjMail.HTMLBody = ObjMail.Body & "HTML Table goes here"
    ObjMail.Display

End Sub

43
задан PowerUser 26 January 2012 в 15:32
поделиться