Я хочу отправить электронную почту через интерфейс доступа к Microsoft. пользователю просто нужно выбрать получателей в списке и нажать одну кнопку, чтобы отправить электронное письмо нескольким получателям. Я не хочу, чтобы интерфейс Lotus Notes появился пользователю. у меня нет никаких проблем в использовании этой команды для отправки по электронной почте:не удалось отправить электронное письмо нескольким получателям через Microsoft Access 2007, отправлено только первым получателям
DoCmd.SendObject objecttype:=acSendTable, _
objectname:=strDocName, outputformat:=acFormatXLS, _
To:=strEmail, Subject:=strMailSubject, MessageText:=strMsg, EditMessage:=False
но те, метод не является то, что я ищу, потому что он будет появляться на экране при отправке по электронной почте. хотя я установил EditMessage: = False.
У меня есть процедура для отправки электронной почты из доступа через ноты лотоса в фоновом режиме. процедура выполняется нормально с одним получателем, но она будет отправлять электронную почту только одному получателю, если я выберу несколько получателей. Я думаю, что проблема имеет какое-то отношение к строке получателей. получателей строки Пример:
eg1 : [email protected], [email protected], [email protected]
eg2 : [email protected]; [email protected]; [email protected]
будет отправлено письмо к первому получателю только
вот процедура суб:
Sub SendNotesMail(Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean)
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'The current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim Session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)
Set Session = CreateObject("Notes.NotesSession")
'Get the sessions username and then calculate the mail file name
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'Open the mail database in notes
Set Maildb = Session.GETDATABASE("", MailDbName)
If Maildb.ISOPEN = False Then
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText & vbCrLf & vbCrLf
MailDoc.PostedDate = Now()
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
MailDoc.CREATERICHTEXTITEM ("Attachment")
End If
'Send the document
MailDoc.send 0, Recipient
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub
Вызов процедуры электронной почты на кнопку мыши события:
Private Sub cmdSendEmail_Click()
Dim EmailSubject As String, EmailAttachment As String, EmailRecipient As String, EmailBodyText As String, EmailSaveIt As Boolean
EmailSubject = Me.txtSubject.Value
EmailAttachment = Me.txtAttachment.Value
EmailRecipient = Me.txtSelected.Value
EmailBodyText = Me.txtMessage.Value
EmailSaveIt = True
Call SendNotesMail(EmailSubject, EmailAttachment, EmailRecipient, EmailBodyText, EmailSaveIt)
End Sub
и вот как я беру множественную полосу получателя г из выпадающего списка:
Private Sub lstEmail_Click()
On Error Resume Next
Dim varItem As Variant
Dim strList As String
With Me.lstEmail
If .MultiSelect = 0 Then
Me.txtSelected = .Value
Else
For Each varItem In .ItemsSelected
strList = strList & .Column(0, varItem) & ", "
Next varItem
strList = Left$(strList, Len(strList) - 2) 'eliminate ", " at the end of recipient's string
Me.txtSelected.Value = strList
End If
End With
End Sub
я действительно не могу использовать метод docmd.sendObject, потому что он по-прежнему появляются на экране, хотя я установить EditMessage: = False. Я не знаю, работает ли это нормально с другой электронной почтой, но мои лотосовые примечания 8.5 не работают с этим docmd.sendObject для отправки электронной почты на задний план. любая помощь или предложение?
спасибо! теперь он отлично работает. –