ACCESS 2007 - Автоматическая отправка и отправка электронной почты с использованием Outlook при определенном событии - PullRequest
0 голосов
/ 20 июля 2011

Я пытаюсь создать приложение в Microsoft Access 2007. Как я могу молча отправить электронное письмо с помощью Outlook 2007 на конкретное событие без какого-либо взаимодействия с пользователем.Как я должен подойти к этому.Если бы вы могли предоставить некоторые VBA, это было бы очень приятно, но если нет, то не могли бы вы подсказать мне, как этого добиться?

Ответы [ 3 ]

3 голосов
/ 28 июля 2011

Мне удалось решить мою проблему с помощью следующего кода:

Public Sub SendEmail()

    Email_Bcc = "email@domain.com"
    Email_Body = "Email body!!!!"
    Email_Subject = "Email Subject"

    On Error GoTo debugs

    Set Mail_Object = CreateObject("Outlook.Application")
    Set Mail_Single = Mail_Object.CreateItem(0)

    With Mail_Single
        .Subject = Email_Subject
        .To = Email_Send_To
        .cc = Email_Cc
        .BCC = Email_Bcc
        .Body = Email_Body
        .send
    End With

debugs:
    If Err.Description <> "" Then MsgBox Err.Description

End Sub
1 голос
/ 21 июля 2011

Сначала объявите пару переменных в случае, если вы хотите отправить электронное письмо, или в функции, которую вы хотите, чтобы событие вызвало.

Public Started As Boolean
Public oApp As Outlook.Application
Public oItem As Outlook.MailItem

Далее откройте или получите Outlook, если он работает.

On Error Resume Next
'Get Outlook if it's running
Set oApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
     'Outlook wasn't running, start it from code
     Set oApp = CreateObject("Outlook.Application")
    Started = True
End If

Теперь делай то, что должен делать со своей электронной почтой.

 Set oItem = oApp.CreateItem(olMailItem)
 With oItem
    .To = "email@email.com"
    .Subject = "Your email, sirrah."
    .Body = "Please enjoy this complimentary email."
    'Send the email
    .Send
End With

Наконец, закройте прогноз, если он не работал раньше, и очистите.

Set oItem = Nothing
If Started Then
    oApp.Quit
End If
0 голосов
/ 21 июля 2011

Вы можете сделать это без кода, используя макрос и действие «SendObject».Обязательно заполните все необходимые аргументы «Кому», «Тема», «Текст сообщения», а затем установите для параметра «Редактировать сообщение» значение «Нет».

Затем вы можете прикрепить этот макрос к любому желаемому событию, например, событию OnClick.кнопки.

...