※ 아래 Daily Tip은 염기웅님이 제공해주신 내용입니다
지난 시간에 액세스를 통해 이메일을 발송하는
방법에 대한 개요에 대하여 알아 보았습니다. 오늘은
실제로 어떻게 구현하는지를 살펴보아야 할 시간입니다.
한정된 지면으로 인해 상세한 설명이 어려운
것을 이해해 주기 바랍니다. 여러분들이 쉽게 여러분의
응용프로그램에 적용하는 것을 목표로 설명합니다. 각각의
기능을 상세히 이해하는데 목적이 있지는 않습니다.1. 이메일
발송을 위한 준비 작업
• 이메일 발송 함수 삽입하기
샘플 파일(지난번 데일리팁 참고)을 열어 보면 basSendMail 이라는 모듈이
있습니다. 이 모듈에는 다음과 같은 sbSendMail 이라는 함수가 하나 정의되어
있습니다.
Public
Sub sbSendMail(strEmailReceiver As String, _
strSubject As String, _
strBody As String, _
Optional lngBodyFormat As
OlBodyFormat =
olFormatPlain _ )
'작성일: 2004-5-6
'작성자: 염기웅
'기능: 특정한 사람(들)
에게 이메일을 발송한다.
'
'strEmailReceiver : 받는 사람(들)
여러명일 경우 ; 으로 구분
' 예)
aamadeus@dbabc.com;webmaster@dbabc.com
'strSubject : 이메일 제목
'strBody : 이메일 본문
'lngBodyFormat : 이메일 본문 형식(olFormatHTML
혹은 olFormatPlain
추천)
' olFormatHTML : HTML 형식의 본문
' olFormatPlain : 일반
Text 형식으로 전송
' olFormatRichText : Rich Text 형식(Rtf)으로
전송
' olFormatUnspecified : 형식 지정 안함
Dim
objOutlook As Outlook.Application
Dim itmNewEmail As Outlook.MailItem
Set
objOutlook = New Outlook.Application
Set
itmNewEmail =
objOutlook.CreateItem(olMailItem)
With
itmNewEmail
.To = strEmailReceiver
.Subject = strSubject
.BodyFormat = lngBodyFormat
Select Case lngBodyFormat
Case olFormatHTML
.HTMLBody = strBody
Case olFormatPlain
.Body = strBody
Case olFormatRichText
.HTMLBody = strBody
Case olFormatUnspecified
.Body = strBody
End Select
.Display
.Send
End With
End Sub |
이 함수를 여러분이 사용하는 응용프로그램에 복사하면 됩니다.
물론, ‘모듈’에 삽입해야 합니다. 폼이나 보고서의 ‘모듈’이 아닌, 데이터베이스 창에서의
‘모듈’입니다. 이 함수의 각 부분을 자세히 설명하지는 않습니다. 하지만, 이 함수를 어떻게 사용해야
하는지는 알아야겠죠.
상식적으로 생각해 보면,
이메일을 발송할 때는 ‘받는 사람 주소’, ‘제목’, ‘내용’ 등이 필요하게 됩니다. 이 함수의
경우도 마찬가지 인수를 입력 받습니다. 순서대로 ‘strEmailReceiver’, ‘strSubject’,
‘strBody’ 입니다. 선택사항으로 이메일의 형식을 지정하는 것이 있는데,
olFormatHTML, olFormatPlain, olFormatRichText,
olFormatUnspecified 가 있습니다. 이 중에 olFormatHTML 과
olFormatPlain 만 구분하여 알아두면 됩니다. 나머지 옵션은 사용할 일이 없다고 보면 됩니다
sbSendMail 함수의 용법
sbSendMail(받을사람_이메일주소,
이메일제목, 이메일본문,
이메일형식)
‘이메일형식’에
사용되는 변수(택1)
olFormatHTML: html 형식으로 이메일을 발송합니다.
olFormatPlain:
일반 텍스트 형식으로 이메일을
발송합니다. (기본값) |
예를 들어, 받을 사람 이메일 주소가 receiver@officetutor.com
이고, 제목은 ‘이메일테스트’ 그리고 본문은 ‘이메일 테스트중입니다.’ 라고 한다면 간단하게
sbSendMail(“receiver@officetutor.com”, “이메일테스트”,
“이메일 테스트중입니다.”) |
같은 형식으로 메일을 보내면 됩니다
• Outlook 개체 참조시키기
앞 단계에서처럼 모듈에 sbSendMail 함수를
정의한다고 해서 이메일 발송이 잘 되는 것은 아닙니다.
지난시간에 말씀드린 것처럼, 액세스가 이메일을 발송하는
것이 아니고, 아웃룩의 메일 발송 기능을 빌려다 쓰는
개념이기 때문에, 아웃룩의 기능을 사용한다는 명령을
액세스에 내려 주어야 합니다.
<1> 여러분의 응용프로그램에서
VBE(Visual Basic Editor)를 엽니다.
<2> VBE의 메뉴에서 도구-참조를
클릭합니다.
<3> 다음과 같은 참조창이
나타납니다. 아마 Microsoft Outlook Object Library 라는 것은
보이지 않을 것입니다. 혹시 이것이 보이고, 체크되어 있다면 이 과정은 생략해도 좋습니다.
<4> Microsoft Outlook Object
Library를 찾습니다. 여러분의 오피스 버전에 따라 중간의 숫자는 다르게 나타납니다.
Microsoft Outlook Object Library를 찾아 체크하고
확인 버튼을 클릭합니다.
<5> 창이 닫힙니다. 다시 한 번
도구-참조를 클릭하여 다음과 같이 구성되어 있는지 확인합니다.
지금까지 한 작업이 액세스에서 이메일을 보내기 위해 아웃룩의 기능을 사용할 것이라는 명령을 내린
것입니다.
2. 테스트
이메일 발송해 보기
<1> 샘플파일을 엽니다. 혹은 앞의 단계를
따라했다면 자신의 응용프로그램을 열어도 좋습니다.
<2> VBE를 열기 위해
도구-매크로-Visual Basic Editor를 차례로 클릭합니다. (Ctrl-G 키를
눌러도 됩니다.)
<3> 다음 그림과 같이 VBE가
나타납니다. 이 그림에는 직접 실행창이 보입니다. 개인 PC의 설정에 따라, 직접
실행창이 보이지 않을 수 있습니다. 직접 실행 창을 보기 위해서는 다음 과정을 따라하기
바랍니다.
<4> 직접 실행창을 보기 위해서 VBE의
메뉴에서 보기-직접 실행 창을 클릭합니다. 그러면 직접 실행창이 보일 것입니다.
<5> 직접 실행창은 비주얼 베이직 명령을
바로 실행해 볼 수 있는 곳입니다. 알고 있으면 간단한 테스트 등을 할 때 유용하게 사용할 수
있습니다. 직접 실행창에서 sbSendMail 함수를 실행시켜 보도록 하겠습니다. 다음과
같이 입력하고 Enter키를 치면…
<6> 다음과 같이 이메일 발송 창이
표시됩니다.
오늘은 여기까지 알아보겠습니다. 오늘은 간단하게, 액세스에서
이메일을 발송하는 기능을 자신의 응용프로그램에 적용하는 방법에 대하여 알아보있습니다. 앞으로 많이
활용하기 바랍니다.
|