기한에 도달했을 때 전자 메일 보내기 (Microsoft Excel)
Domenic에는 E 열의 프로젝트 기한을 보여주는 워크 시트가 있습니다.
그는 조건부 서식을 사용하여 기한에 도달 한시기 (오늘 날짜와 같은 경우)를 표시 할 수 있지만 실제로 필요한 것은 기한에 도달했을 때 보낼 전자 메일입니다. 그는 Excel에서이 작업을 수행하는 방법이 있는지 궁금합니다.
실제로 매크로를 사용해도 괜찮다면이를 수행 할 수있는 방법이 있습니다. 또한 Outlook을 통해 전자 메일을 보내야합니다. 그러면 VBA가 잘 통신합니다. (불행히도 VBA는 다른 메일 클라이언트와 연결하는 데 쉽게 사용할 수 없습니다.)
예를 들어 여기에는 통합 문서가 열릴 때마다 실행되는 매크로가 있습니다. 워크 시트의 각 행을 자동으로 확인합니다. 특히 E 열의 기한과 F 열의 “플래그 값”을 입력합니다. (이 플래그 값은 매크로에 의해 설정됩니다. F 열에 문자 “S, “그러면 매크로는 이전에 이메일이 전송 된 것으로 가정합니다.)
Private Sub Workbook_Open() Dim OutApp As Object Dim OutMail As Object Dim lLastRow As Long Dim lRow As Long Dim sSendTo As String Dim sSendCC As String Dim sSendBCC As String Dim sSubject As String Dim sTemp As String Set OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon ' Change the following as needed sSendTo = "[email protected]" sSendCC = "" sSendBCC = "" sSubject = "Due date reached" lLastRow = Cells(Rows.Count, 3).End(xlUp).Row For lRow = 2 To lLastRow If Cells(lRow, 6) <> "S" Then If Cells(lRow, 5) <= Date Then Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = sSendTo If sSendCC > "" Then .CC = sSendCC If sSendBCC > "" Then .BCC = sSendBCC .Subject = sSubject sTemp = "Hello!" & vbCrLf & vbCrLf sTemp = sTemp & "The due date has been reached " sTemp = sTemp & "for this project:" & vbCrLf & vbCrLf ' Assumes project name is in column B sTemp = sTemp & " " & Cells(lRow,2) sTemp = sTemp & "Please take the appropriate" sTemp = sTemp & "action." & vbCrLf & vbCrLf sTemp = sTemp & "Thank you!" & vbCrLf .Body = sTemp ' Change the following to .Send if you want to ' send the message without reviewing first .Display End With Set OutMail = Nothing Cells(lRow, 6) = "S" Cells(lRow, 7) = "E-mail sent on: " & Now() End If End If Next lRow Set OutApp = Nothing End Sub
매크로가 실행되면 (다시 통합 문서가 처음 열릴 때) 워크 시트의 각 행을 확인하여 F 열에 “S”가 있는지 확인합니다.
그렇지 않은 경우 E 열의 날짜가 오늘 날짜와 같은지 확인합니다. 그렇다면 코드는 보낼 전자 메일 메시지 (원하는대로 수정할 수 있음)를 모 읍니다. 이메일이 표시되고 원하는 변경을 한 후 보내기 버튼을 클릭 할 수 있습니다.
이 시점에서 워크 시트는 F 열에 “S”표시기를 배치하고 전자 메일이 G 열에 전송 된 날짜를 배치하여 업데이트됩니다.
매크로는 프로젝트 이름이 B 열에 있다고 가정합니다.
이 정보는 이메일로 보낼 메시지를 모으는 데 사용됩니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶으면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (474)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.