Вы можете использовать DoCmd.SendObject
.
http://www.fmsinc.com/microsoftaccess/email/sendobject.html
Функция использует приложение электронной почты по умолчанию, как Outlook. Для отправки формы код позади кнопки будет,
Private sub yourButtonName_Click()
DoCmd.SendObject acSendForm, "yourFormName", acFormatPDF, "[email protected]"
End Sub
Есть несколько аргументов, как Сс, Bcc, MessageText т.д.
Чтобы преодолеть любые ошибки, которые могут возникнуть, когда удары пользователя Отмена, вы можете использовать оператор On Error для обработки ошибки. Нечто подобное,
Private sub yourButtonName_Click()
On Error GoTo errHandle
DoCmd.SendObject acSendForm, "yourFormName", acFormatPDF, "[email protected]"
exitErr:
Exit Sub
errHandle:
If Err.Number <> 2501 Then
MsgBox "Error (" & Err.Number & ") - " & Err.Description & " Occurred."
End If
Resume exitErr
End Sub
Вы можете посмотреть на сайте C Пирсона, чтобы узнать больше о Error Handling in VBA
Вы знаете, если есть код, который блокирует сообщение об ошибке, которое появляется, когда электронная почта вышла из вместо отправлено. Например, если кто-то нажимает кнопку при аварии и не отправляет электронное письмо, я не хочу показывать ошибку. –
Вы можете использовать инструкцию On Error. Проверьте мой отредактированный пост. – PaulFrancis
Удивительная благодарность! Все отлично работает. У меня просто проблема с созданным PDF-файлом. Он создает 20 дубликатов одной и той же формы. Вы знаете, почему это произойдет? –