Excel 能否根据电子表格中的条件通过 Outlook“发送”电子邮件?

Excel 能否根据电子表格中的条件通过 Outlook“发送”电子邮件?

有没有简单的方法Excel (2013)是否真的满足
send an email (Outlook or Exchange)
某些条件?
例如:

if A2 is between 80 and 90, send email to G2.

A2 是员工入职日期的结果today's date,80 到 90 的结果意味着需要 90 天的审核。G2
会有主管、经理等的实际电子邮件地址。
此过程会自动发生,无需进入每个单元格来获取电子邮件地址并逐一发送电子邮件。

答案1

Sub将读取应用条件的选定单元格(列),执行测试,如果为 True,则读取电子邮件、主题、正文并发送电子邮件,并Sent在发送后在同一行写入
它与 Outlook 配合使用

Column 1    Column 2      Column 3         column 4   column 5       column 6  
80           email        Manager Name    Body Text   Employee Name  Sent or empty

您可以更改单元格(s,c + 2),单元格(s,c + 4)...以对应于您的列,
例如,如果 A2 是第 1 列,则 G2(第 2 列)将是单元格(s,c + 6),并根据您的数据移动其他单元格
您必须选择第 1 列中的单元格,然后 Sub 将继续

 Sub SendReminderMail()
        Dim s As Long, c As Long
        Dim OutLookApp As Object
        Dim OutLookMailItem As Object
        Dim strBody As String


    Set OutLookApp = CreateObject("Outlook.application")
    Set OutLookMailItem = OutLookApp.CreateItem(0)



     For Each Cell In Selection
     Cell.Select

     s = ActiveCell.Row
     c = ActiveCell.Column


       If Cells(s, c).Value > 80 And Cells(s, c).Value < 90 Then
        strBody = Cells(s, c + 3) & " " & Cells(s, c + 4)
          Set OutLookMailItem = OutLookApp.CreateItem(0)
          With OutLookMailItem

              .To = Cells(s, c + 1).Value
              .Subject = "Reminder: "
              .Body = "Dear " & Cells(s, c + 2).Value & "," & vbCrLf & vbCrLf & strBody

              .Display ' or .Send
          End With
          Cells(s, c + 5) = "Sent"
      End If

    Next Cell
End Sub

相关内容