Таким образом, отправка результатов в виде вложений на самом деле намного проще, чем отправка в виде таблицы в электронном письме, , если у вас есть сохраненный запрос с данными, которые нужно отправить .
Как правило, вы можете использовать функцию Docmd.SendObject
для отправки сохраненного запроса. Как уже отмечалось, однако, он не может указать свойство SendOnBehalfOf
. Взгляните на следующий код:
Sub DCMEmailReviewVBA()
' assuming you have a saved query called qData
' that contains SQL like the following:
' select SELECT *
' FROM tEmailData
' where DCM_email=(select top 1 DCM_Email from tDCMEmailList)
' order by Cardholder, Card_Type asc
Dim strTO as string
' there are better ways to do this, but this will quickly
' get us what we want
strTO = Dlookup("DCM_Email", "tDCMEmailList")
' the only thing this doesn't handle is the SendOnBehalfOfName
' if this is necessary to your process, you might want to stick with @Jiggles32
docmd.SendObject _
objecttype:=acSendQuery, _
objectname:="qData", _
outputformat:=acFormatXLSX , _
to:=strTO, _
cc:="", _
bcc:=gDCMEmailBCC, _
subject:=gDCMEmailSubject, _
messagetext:="anything you want to put in your email message", _
editmessage:=true
End Sub