2009. 12. 15. 07:39

Using Automation to Send a Microsoft Outlook Message

자동화를 사용하여 Microsoft Outlook 메일 메시지를 보낼 때 여섯 가지 주요 단계가 있습니다.

  • Outlook 세션 초기화
  • 새 메시지 만들기
  • 받는 사람 (받는 사람, 참조 및 숨은 참조) 추가하고 해당 이름을 확인하기
  • 유효한 속성 (예: 제목, 본문 및 중요도 설정
  • (있는 경우 첨부 파일 추가
  • 디스플레이/메시지 보내기
프로그래밍 방식으로 Microsoft Outlook 메일 메시지를 보내려면 다음과 같이 하십시오.

  1. C:\My Documents Customers.txt 라는 예제 텍스트 파일을 만들 폴더.
  2. Microsoft Access를 시작하고 Northwind.mdb 예제 데이터베이스를 엽니다.
  3. 모듈 및 형식을 있이 있지 않은 경우 다음 줄에서 해당 선언 섹션에서 만들기:
    명시적 옵션
  4. 도구 메뉴에서 참조를 누릅니다.
  5. 참조 상자에서 Microsoft Outlook 8.0 개체 모델의 누른 다음 확인을 누릅니다.

    참 고: Microsoft Outlook 8.0 개체 모델 사용 가능한 참조 상자가 표시되지 않으면 하드 드라이브의 파일에 대한 찾아보기 Msoutl8.olb. 이 파일을 찾을 수 없으면 이 예제를 계속 진행하기 전에 설치하려면 Microsoft Outlook 설치 프로그램을 실행해야 합니다.
  6. 새 모듈에 다음 프로시저를 입력합니다:
          Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
    Dim objOutlook As Outlook.Application
    Dim objOutlookMsg As Outlook.MailItem
    Dim objOutlookRecip As Outlook.Recipient
    Dim objOutlookAttach As Outlook.Attachment

    ' Create the Outlook session.
    Set objOutlook = CreateObject("Outlook.Application")

    ' Create the message.
    Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

    With objOutlookMsg
    ' Add the To recipient(s) to the message.
    Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
    objOutlookRecip.Type = olTo

    ' Add the CC recipient(s) to the message.
    Set objOutlookRecip = .Recipients.Add("Michael Suyama")
    objOutlookRecip.Type = olCC

    ' Add the BCC recipient(s) to the message.
    Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
    objOutlookRecip.Type = olBCC

    ' Set the Subject, Body, and Importance of the message.
    .Subject = "This is an Automation test with Microsoft Outlook"
    .Body = "This is the body of the message." &vbCrLf & vbCrLf
    .Importance = olImportanceHigh 'High importance

    ' Add attachments to the message.
    If Not IsMissing(AttachmentPath) Then
    Set objOutlookAttach = .Attachments.Add(AttachmentPath)
    End If

    ' Resolve each Recipient's name.
    For Each ObjOutlookRecip In .Recipients
    objOutlookRecip.Resolve
    Next

    ' Should we display the message before sending?
    If DisplayMsg Then
    .Display
    Else
    .Save
    .Send
    End If
    End With
    Set objOutlook = Nothing
    End Sub

  7. 이 절차는 테스트하려면 디버그 창에 다음 줄을 입력한 다음 Enter 키를 누릅니다.
    SendMessage True, "C:\My Documents\Customers.txt"
    첨부 파일이 있는 Microsoft Outlook에서 새 메시지가 표시된 유의하십시오.

    Microsoft Outlook에서 표시하지 않고 메시지를 보내려면 첫 번째 인수에 대해 False 값 사용하는 프로시저 호출:
    SendMessage False, "C:\My Documents\Customers.txt"
    첨부 파일을 지정하지 않고 메시지를 보내려면 프로시저를 호출할 때 두 번째 인수를 생략하십시오.
    SendMessage True

출처 : http://support.microsoft.com/kb/161088