首页 > 解决方案 > 如何将某些单词从 Excel 填充到 Outlook 电子邮件模板?

问题描述

我想用 Excel 文件中的单词替换电子邮件模板上的单词。

Excel 文件包含姓名、ID、电子邮件等数据。

该程序使用模板,但在替换单词时收到运行时错误 287。

我试图添加一个 .body 替换。

Set xlWB = Excel.ActiveWorkbook
Set xlSheet = xlWB.Sheets("Data")

rCount = 5

Do Until Trim(xlSheet.Range("A" & rCount)) = ""

    strMgrFirstname = xlSheet.Range("F" & rCount)
    SendTo = xlSheet.Range("H" & rCount)
    strSubject = xlSheet.Range("K" & rCount)
    LoginID = xlSheet.Range("A" & rCount)
    strFirstname = xlSheet.Range("B" & rCount)
    strLastname = xlSheet.Range("C" & rCount)
    strEmptype = xlSheet.Range("D" & rCount)
    ActualStartdate = xlSheet.Range("J" & rCount)
    ComEmail = xlSheet.Range("L" & rCount)

    Set otlApp = New Outlook.Application
    Set otlNewMail = Outlook.Application.CreateItemFromTemplate("C:\EmailTemplate\Email Step 1- Group CIO Induction Training for Line Managers - For Action.oft")
    'otlNewMail.Display

    With otlNewMail
        .SentOnBehalfOfName = ComEmail
        .To = SendTo
        .Subject = strSubject

        .Body = Replace(.Body, "[MANAGER_FIRST_NAME]", strMgrFirstname)
        .Body = Replace(.Body, "[LOGIN]", LoginID)
        .Body = Replace(.Body, "[FIRST_NAME]", strFirstname)
        .Body = Replace(.Body, "[LAST_NAME]", strLastname)
        .Body = Replace(.Body, "[EMP_TYPE]", strEmptype)
        .Body = Replace(.Body, "[ACTUAL_START_DATE]", ActualStartdate)

        .Save
        '.Close
    End With

当我在线路上按 F8 时出现错误消息.Body = Replace

运行时错误“287”

标签: excelvbaoutlook

解决方案


推荐阅读