Excel中的自动化电子邮件

时间:2018-04-01 17:38:25

标签: excel vba excel-vba automation

我正在尝试设计一个excel文件,以帮助我的公司招聘。

任务是为公司所说的候选人创建一张表,我们将记录候选人的所有记录,包括他们的名字,姓氏,手机和电子邮件地址。您可以在此处查看所有内容的屏幕截图:https://imgur.com/gallery/tvAIx

正如您所看到的那样,公司与候选人交谈时以及将简历发送给我们时都有专栏。最后还有一个“简历提醒”栏目。它具有以下代码=IF(ISBLANK(F2), HYPERLINK("mailto:" & D2 & "?subject=" & $O$3 & "&body=" & $P$3, "Send reminder"), "All good")

这个想法是这样的,如果还没有收到CV,你可以按下单元格,它会为候选人生成一个提醒电子邮件。我想让所有进程自治,以便它可以从相关单元格中挑选候选名称,并向他发送一封通用电子邮件,如:

“Hi 来自单元格的名称

希望你好。

我们已经在日期从小区与您交谈过。您有机会查看您的简历吗?你有什么问题吗?“

我确信VBA可能只是不知道如何。谢谢。

1 个答案:

答案 0 :(得分:1)

您应该能够处理基本的VBA使用以实现此目的。

以下是为Office 2000-2016发送Outlook电子邮件的VBA代码。来源是http://www.rondebruin.nl

您可以将代码放在所请求单元格的SelectionChange事件中,并根据需要更改Body,SendTo等部分。 (显然,在您的情况下,SendTo地址和Body的某些部分将来自您所选单元格行上的特定单元格)

Sub Mail_small_Text_Outlook()
'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
'Working in Office 2000-2016
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    strbody = "Hi there" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2" & vbNewLine & _
              "This is line 3" & vbNewLine & _
              "This is line 4"

    On Error Resume Next
    With OutMail
        .To = "ron@debruin.nl"
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .Body = strbody
        'You can add a file like this
        '.Attachments.Add ("C:\test.txt")
        .Send   'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub