VBA 스크립트를 사용하여 Excel 스프레드시트에서 이메일을 보내는 방법

VBA 스크립트를 사용하여 Excel 스프레드시트에서 이메일을 보내는 방법

Microsoft Excel에서 이메일을 보내려면 몇 가지 간단한 스크립트만 있으면 됩니다. 이 기능을 스프레드시트에 추가하면 Excel에서 수행할 수 있는 작업을 실제로 향상시킬 수 있습니다.





VBA 스크립트가 할 수 있는 것과 동일한 작업을 수행할 수 있지만 프로그래밍 지식이 필요하지 않은 훌륭한 Excel 매크로를 많이 다루었습니다. 그러나 모든 PC 정보로 스프레드시트 보고서를 만드는 것과 같이 VBA로만 할 수 있는 고급 작업이 많이 있습니다.





이 튜토리얼을 비디오로 시청하시겠습니까? 우리는 당신을 덮었습니다!





Excel에서 이메일을 보내는 이유

Microsoft Excel 내부에서 전자 메일을 보내려는 데에는 여러 가지 이유가 있습니다.

문서나 스프레드시트를 매주 업데이트하는 직원이 있고 업데이트가 완료되면 이메일 알림을 받고 싶을 수 있습니다. 또는 연락처 스프레드시트가 있고 한 번에 모든 연락처에 하나의 이메일을 보내고 싶을 수 있습니다.



Excel에서 이메일 브로드캐스트를 스크립팅하는 것이 복잡할 것이라고 생각할 수 있습니다. 전혀 그렇지 않습니다.

이 기사의 기술은 Excel VBA에서 오랫동안 사용할 수 있었던 기능을 사용합니다. 협업 데이터 개체 (CDO).





CDO는 OS의 초기 세대부터 Windows에서 사용되는 메시징 구성 요소입니다. 예전에는 CDONTS라고 부르다가 Windows 2000, XP가 등장하면서 'CDO for Windows 2000'으로 바뀌었습니다. 이 구성 요소는 Microsoft Word 또는 Excel 내의 VBA 설치에 이미 포함되어 있으며 사용할 준비가 되어 있습니다.

구성 요소를 사용하면 VBA가 포함된 Windows 제품 내에서 이메일을 매우 쉽게 보낼 수 있습니다. 이 예에서는 Excel의 CDO 구성 요소를 사용하여 특정 Excel 셀의 결과를 전달할 전자 메일을 보냅니다.





1단계: VBA 매크로 만들기

첫 번째 단계는 Excel 개발자 탭으로 이동하는 것입니다.

개발자 탭에서 끼워 넣다 컨트롤 상자에서 명령 단추를 선택하십시오.

시트에 그린 다음 클릭하여 새 매크로를 만듭니다. 매크로 개발자 리본에서

클릭하면 창조하다 버튼을 누르면 VBA 편집기가 열립니다.

다음으로 이동하여 CDO 라이브러리에 대한 참조를 추가합니다. 도구 > 참고문헌 편집기에서.

찾을 때까지 목록을 아래로 스크롤하십시오. Windows 2000 라이브러리용 Microsoft CDO . 확인란을 선택하고 클릭하십시오. 좋아요 .

클릭하면 좋아요 , 스크립트를 붙여넣을 함수의 이름을 기록해 둡니다. 나중에 필요할 것입니다.

2단계: CDO 'From' 및 'To' 필드 설정

이렇게 하려면 먼저 메일 개체를 만들고 전자 메일을 보내는 데 필요한 모든 필드를 설정해야 합니다.

많은 필드가 선택 사항이지만 에서 그리고 NS 필드는 필수 항목입니다.

외장 하드 드라이브가 PC에 표시되지 않음
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

이것에 대한 멋진 점은 전체 이메일 메시지를 사용자 정의하고 할당하려는 문자열을 생성할 수 있다는 것입니다. strBody 변하기 쉬운.

다음을 사용하여 메시지의 구성 요소를 결합합니다. & 문자열을 사용하여 위에 표시된 것처럼 Microsoft Excel 시트의 데이터를 이메일 메시지에 바로 삽입합니다.

3단계: 외부 SMTP를 사용하도록 CDO 구성

다음 코드 섹션에서는 외부 SMTP 서버를 사용하여 이메일을 보내도록 CDO를 구성합니다.

이 예는 Gmail을 통한 비 SSL 설정입니다. CDO는 SSL을 사용할 수 있지만 이는 이 기사의 범위를 벗어납니다. SSL을 사용해야 하는 경우 이 Github의 고급 코드 도울 수있다.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With

4단계: CDO 설정 완료

이메일을 보내기 위해 SMTP 서버에 대한 연결을 구성했으므로 이제 이메일에 대한 적절한 필드를 채우기만 하면 됩니다. CDO_Mail 개체 , 그리고 발행 보내다 명령.

방법은 다음과 같습니다.

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description

Outlook 메일 개체를 사용할 때 발생할 수 있는 팝업 상자나 보안 경고 메시지가 없습니다.

CDO는 단순히 이메일을 정리하고 SMTP 서버 연결 세부 정보를 활용하여 메시지를 시작합니다. 이메일을 Microsoft Word 또는 Excel VBA 스크립트에 통합하는 가장 쉬운 방법입니다.

명령 버튼을 이 스크립트에 연결하려면 코드 편집기로 이동하여 시트1 해당 워크시트에 대한 VBA 코드를 보려면

위의 스크립트를 붙여넣은 함수의 이름을 입력합니다.

중지 코드 예기치 않은 커널 모드 트랩

받은 편지함에서 받은 메시지는 다음과 같습니다.

메모 : 다음과 같은 오류가 표시되는 경우 전송이 서버에 연결하지 못했습니다. , 아래 나열된 코드 줄에 올바른 사용자 이름, 암호, SMTP 서버 및 포트 번호를 입력했는지 확인하십시오. SMTP_Config 사용 .

더 나아가 전체 프로세스를 자동화

버튼 하나만 누르면 Excel에서 전자 메일을 보낼 수 있다는 것이 매우 좋습니다. 그러나 이 기능을 정기적으로 사용하고 싶을 수도 있습니다. 이 경우 프로세스를 자동화하는 것이 좋습니다.

이렇게 하려면 매크로를 변경해야 합니다. Visual Basic Editor로 이동하여 함께 만든 전체 코드를 복사하여 붙여넣습니다.

다음으로 선택 이 워크북 ~로부터 프로젝트 계층.

코드 창 상단에 있는 두 개의 드롭다운 필드에서 학습장 그리고 선택 열려있는 방법 드롭다운에서.

위의 이메일 스크립트를 비공개 하위 통합 문서_Open() .

Excel 파일을 열 때마다 매크로가 실행됩니다.

다음, 열어 작업 스케줄러 .

이 도구를 사용하여 정기적으로 스프레드시트를 자동으로 열도록 Windows에 요청합니다. 이 때 매크로가 시작되어 이메일을 보냅니다.

선택하다 기본 작업 만들기... ~로부터 동작 메뉴에 도달할 때까지 마법사를 통해 작업합니다. 동작 화면.

선택하다 프로그램 시작 클릭 다음 .

사용 검색 버튼을 눌러 컴퓨터에서 Microsoft Excel의 위치를 ​​찾거나 경로를 복사하여 프로그램/스크립트 들.

그런 다음 Microsoft Excel 문서의 경로를 인수 추가 들.

마법사를 완료하면 예약이 완료됩니다.

앞으로 몇 분 동안 작업을 예약하여 테스트를 실행한 다음 작업이 작동하는지 확인할 수 있게 되면 작업을 수정하는 것이 좋습니다.

메모 참고: 매크로가 제대로 실행되도록 보안 센터 설정을 조정해야 할 수 있습니다.

그렇게 하려면 스프레드시트를 열고 파일 > 옵션 > 신뢰 센터 .

여기에서 클릭 보안 센터 설정 , 다음 화면에서 라디오 다이얼을 차단된 콘텐츠에 대한 정보 표시 안 함 .

당신을 위해 마이크로소프트 엑셀을 작동시키십시오

Microsoft Excel은 믿을 수 없을 정도로 강력한 도구이지만 최대한 활용하는 방법을 배우는 것이 다소 어려울 수 있습니다. 소프트웨어를 진정으로 마스터하려면 VBA로 편안하게 , 그리고 그것은 작은 작업이 아닙니다.

mac 주소는 무엇에 사용됩니까

그러나 결과는 스스로를 말해줍니다. 약간의 VBA 경험이 있으면 곧 Microsoft Excel이 기본 작업을 자동으로 수행하도록 하여 보다 긴급한 문제에 더 많은 시간을 집중할 수 있습니다.

VBA에 대한 전문 지식을 구축하는 데 시간이 걸리지만 계속 고수할 수만 있다면 곧 노력의 결실을 보게 될 것입니다.

시작하기 좋은 곳 중 하나는 우리의 권위 있는 곳입니다. Excel에서 VBA 사용에 대한 자습서 . 이 작업을 마치면 Excel에서 이메일을 보내는 이 간단한 스크립트가 마치 어린애처럼 느껴질 것입니다.

공유하다 공유하다 트위터 이메일 Canon vs. Nikon: 어느 카메라 브랜드가 더 낫습니까?

Canon과 Nikon은 카메라 업계에서 가장 큰 두 회사입니다. 그러나 어느 브랜드가 더 나은 카메라와 렌즈 라인업을 제공합니까?

다음 읽기
관련 항목
  • 생산력
  • 프로그램 작성
  • 이메일 팁
  • 프로그램 작성
  • 비주얼 베이직 프로그래밍
  • 마이크로 소프트 엑셀
  • 마이크로소프트 오피스 팁
저자 소개 라이언 두브(942건의 기사 게재)

Ryan은 전기 공학 학사 학위를 받았습니다. 그는 자동화 엔지니어링에서 13년, IT에서 5년을 근무했으며 현재는 앱 엔지니어입니다. MakeUseOf의 전 편집장인 그는 데이터 시각화에 관한 전국 회의에서 연설했으며 전국 TV 및 라디오에 출연했습니다.

Ryan Dube가 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.