본문 바로가기
Uipath

VBA Outlook 메일 보내기(첨부파일 및 메일본문 이미지)

by Sol95 2023. 4. 21.
728x90

VBA로 Outlook 메일 보내기 + 첨부파일 한메일에 여러개 추가 및 메일 내용에 이미지 추가 하는방법입니다

Uipath를 사용 하지 않고 실제 엑셀에서 VBA 열어서 테스트 하실분들은 Email_Send_Result (코드 내역 최하단 부분)에 설정된 인수값들에 대한 정의를 일일이 해주셔야 합니다.

Ex)

dirPath = "디렉토리 경로"

fileName_Extension = "파일이름 및 파일 확장자명 포함"

EmailTo = "받는사람"

EmailCC = "참조"

EmailBCC = "숨은참조"

Body_HTML = "<html><body><b>Ex데이터 입니다</b></body></html>"

를 Function 바로 아래와 Call Eamil_Send 사이에 입력 해주시고 돌리시면 됩니다

 

아래는 VBA코드 내역

Function Email_Send(ByRef Result, ByVal dirPath, ByVal fileName_Extension, ByVal EmailTo, ByVal EmailCC, ByVal EmailBCC, ByVal Email_Subject, ByVal Body_HTML)
On Error GoTo ErrorHandling		
Dim appOutlook As Outlook.Application: Set appOutlook = New Outlook.Application
Dim fileName As String
Dim mimEmail As Outlook.MailItem
	fileName = Dir(dirPath & fileName_Extension) 
	Set mimEmail = appOutlook.CreateItem(olMailItem)
	With mimEmail
	.To = EmailTo	
    	.CC = EmailCC	
	.BCC = EmailBCC	
	.Subject = Email_Subject	
	Dim att As Outlook.Attachment	
	Do While fileName <> ""	
	Debug.Print fileName
	Set att = .Attachments.Add(dirPath & fileName, 1, 1)	
                        
	fileName = Dir() 
	Loop
                        
	.HTMLBody = Body_HTML	
	.Display
	.Send
	Result = "성공"
Exit Function
ErrorHandling:
	Result = "실패"

End With
End Function
'----------------------------------------------------------------------------------------------------------'
Function Email_Send_Result(dirPath, fileName_Extension, EmailTo, EmailCC, EmailBCC, Body_HTML)
Call Email_Send(Result, dirPath, fileName_Extension, EmailTo, EmailCC, EmailBCC, Email_Subject, Body_HTML)
Email_Send_Result = Result
Debug.Print Email_Send_Result
End Function

Uipath에서는 Excel Application Scope에 Execute Macro를 통해 VBA를 사용합니다

VBA 코드 Uipath 활용 내역

 

728x90
반응형

댓글