2015-09-15 6 views
-1

Вот моя текущая настройка ...Создание динамической электронной почты Outlook с помощью Access VBA

У меня есть база данных отслеживания проекта Access со значениями Описание проекта (например: PROJECT_ID) и у меня есть кнопка «Создать e-mail», который я 's успешно получил, чтобы открыть Outlook, выбрать проект Outlook и автоматически создать соответствующую строку темы.

Однако я не знаю, с чего начать на следующем шаге. Любая помощь приветствуется!

Я бы хотел, чтобы письмо Outlook содержало динамические поля, связанные с полями в моей базе данных Access. Я даже не уверен, что я должен пытаться выполнить код в Access или в Outlook для этого шага!

Пример того, что я хочу:

ИМЯ,

Прикрепленный ваши документы:

PROJECT_ID PROJECT_NAME Project_Type < --Values ​​моего доступа к базе данных

С уважением,

мой знак ure

ответ

1

Вы должны ввести код в MS Access. код псевдо будет:

  1. Читать все значения из таблицы доступа
  2. создать прогноз объекта, объект почты
  3. Открыть перспективы почты и добавить предмет, содержание, вложения
  4. посыла или оставить его служащий для отправки

вызова это как

send_email_message "[email protected]","","","Email subject","Add your email content/body like project id= &field1, project name = field2 and so on" 

вы можете прикрепить несколько файлов, просто присоедините их к имени документа с помощью «;» разделитель. как

«C; \ file1.txt; C: \ file2.txt»

здесь отсылка функция электронной почты: эта функция использует перспективные объекты (импортировать их в качестве ссылки) или изменить его до конца связывание vba.createobject ("outlook.application")

Function SEND_EMAIL_MESSAGE(mTo As String, mCC As String, mBC As String, mSubject As String, mBody As String, Optional useOwnSignature As Boolean = False, Optional DisplayMsg As Boolean = False, Optional isHTML As Boolean = False, Optional AttachmentPath = "") As Boolean 
'--------------------------------------------------------------------------------------- 
' Procedure : SEND_EMAIL_MESSAGE 
' Author : KRISH KM 
' Date  : 01/09/2013 
' Purpose : Send emails using outlook 
'--------------------------------------------------------------------------------------- 
' 
' Please check the reference for Microsoft Outlook 14.0 object library for outlook 2010. 

    Dim oAPP As Outlook.Application 
    Dim oMail As Outlook.MailItem 
    Dim oAPPAttach As Outlook.Attachment 
    Dim mSignature As String 

    On Error GoTo ERROR_EMAIL 
    ' Create the Outlook session. 
    Set oAPP = New Outlook.Application 

    ' Create the message. 
    Set oMail = oAPP.CreateItem(olMailItem) 

    With oMail 
     ' Add the To recipient(s) to the message. 
     .to = mTo 
     .cc = mCC 
     .BCC = mBC 
     .Subject = mSubject 

     If useOwnSignature Then .BodyFormat = olFormatHTML 
     .Display 

     If useOwnSignature Then 
      If isHTML Then 

       mSignature = .HTMLBody 
       .HTMLBody = mBody & mSignature 
      Else 
       mSignature = .body 
       .body = mBody & mSignature 
      End If 
     Else 
      .body = mBody 
     End If 

     ' Add attachments to the message. 
     If Not IsMissing(AttachmentPath) Then 
      Dim mFiles() As String 
      If (VBA.Right(AttachmentPath, 1)) <> ";" Then AttachmentPath = AttachmentPath & ";" 
      mFiles = VBA.Split(AttachmentPath, ";") 
      Dim i As Integer 
      For i = 0 To UBound(mFiles) - 1 
       If Not mFiles(i) = "" Then .Attachments.Add (mFiles(i)) 'Set oAPPAttach = .Attachments.Add(mFiles(i)) 
      Next i 

     End If 

     ' Should we display the message before sending? 
     If DisplayMsg Then 
      .Display 
     Else 
      .Send 
     End If 
    End With 

    SEND_EMAIL_MESSAGE = True 
EXIT_ROUTINE: 
    On Error GoTo 0 
    Set oAPP = Nothing 
    Set oMail = Nothing 
    Exit Function 

ERROR_EMAIL: 
    SEND_EMAIL_MESSAGE = False 
    GoTo EXIT_ROUTINE 
End Function 
Смежные вопросы