Я пишу VBA script в Access, который создает и автоматически заполняет несколько десятков писем. До сих пор это было плавное кодирование, но я новичок в Outlook. После создания объекта mailitem как добавить подпись по умолчанию к письму?
-
Это будет сигнатура по умолчанию, которая автоматически добавляется при создании нового сообщения.
-
В идеале я хотел бы просто использовать
ObjMail.GetDefaultSignature
, но я не могу найти ничего подобного. -
В настоящее время я использую функцию ниже (найденную в другом месте в Интернете) и ссылаясь на точный путь и имя файла 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")
)
Изменить
Благодаря 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