У меня мало знаний по Lotus Script или Notes / Domino, но у меня есть процедура, скопированная откуда-то давно, которая позволяет мне отправлять электронные письма через Notes из VBA. Обычно я использую это только для внутренних уведомлений, где форматирование не имело значения.
Теперь я хочу использовать это для отправки внешних электронных писем клиенту, и корпоративные типы предпочитают, чтобы электронная почта соответствовала нашему руководству по стилю (в основном шрифт без засечек).
Я собирался сказать им, что код работает только с простым текстом, но затем я заметил, что подпрограмма ссылается на какой-то объект CREATERICHTEXTITEM. Означает ли это, что я мог бы применить какое-либо форматирование к строке основного текста после того, как было передано в почтовую процедуру? Наряду с поддержанием наших драгоценных ценностей бренда, это было бы очень удобно для меня, чтобы выделить некоторые отрывки в электронном письме.
У меня была информация о «сети», чтобы увидеть, можно ли адаптировать этот код, но он не был знаком с объектной моделью Notes, а тот факт, что онлайн-ресурсы Notes, похоже, отражают самоуверенность приложения, означал, что я не знал ». очень далеко.
код:
Sub sendEmail(EmailSubject As String, EMailSendTo As String, EMailBody As String, MailServer as String)
Dim objNotesSession As Object
Dim objNotesMailFile As Object
Dim objNotesDocument As Object
Dim objNotesField As Object
Dim sendmail As Boolean
'added for integration into reporting tool
Dim dbString As String
dbString = "mail\" & Application.UserName & ".nsf"
On Error GoTo SendMailError
'Establish Connection to Notes
Set objNotesSession = CreateObject("Notes.NotesSession")
On Error Resume Next
'Establish Connection to Mail File
Set objNotesMailFile = objNotesSession.GETDATABASE(MailServer, dbString)
'Open Mail
objNotesMailFile.OPENMAIL
On Error GoTo 0
'Create New Memo
Set objNotesDocument = objNotesMailFile.createdocument
Dim oWorkSpace As Object, oUIdoc As Object
Set oWorkSpace = CreateObject("Notes.NotesUIWorkspace")
Set oUIdoc = oWorkSpace.CurrentDocument
'Create 'Subject Field'
Set objNotesField = objNotesDocument.APPENDITEMVALUE("Subject", EmailSubject)
'Create 'Send To' Field
Set objNotesField = objNotesDocument.APPENDITEMVALUE("SendTo", EMailSendTo)
'Create 'Copy To' Field
Set objNotesField = objNotesDocument.APPENDITEMVALUE("CopyTo", EMailCCTo)
'Create 'Blind Copy To' Field
Set objNotesField = objNotesDocument.APPENDITEMVALUE("BlindCopyTo", EMailBCCTo)
'Create 'Body' of memo
Set objNotesField = objNotesDocument.CREATERICHTEXTITEM("Body")
With objNotesField
.APPENDTEXT emailBody
.ADDNEWLINE 1
End With
'Send the e-mail
Call objNotesDocument.Save(True, False, False)
objNotesDocument.SaveMessageOnSend = True
'objNotesDocument.Save
objNotesDocument.Send (0)
'Release storage
Set objNotesSession = Nothing
Set objNotesMailFile = Nothing
Set objNotesDocument = Nothing
Set objNotesField = Nothing
'Set return code
sendmail = True
Exit Sub
SendMailError:
Dim Msg
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
sendmail = False
End Sub