簡體   English   中英

使用 Outlook 模板和設置變量從 Excel 2007 VBA 發送電子郵件

[英]Send an email from Excel 2007 VBA using an Outlook Template & Set Variables

我有一個數據列表,比如說客戶信息(姓名、電子郵件、欠款等),存儲在 Excel 工作表中。 我的目標是單擊 Excel 中的一個按鈕,並在 Outlook 模板中向每個客戶發送他們的信息。

  1. 創建郵件對象
  2. 將郵件對象設置為模板文件
  3. 設置然后用有關當前客戶端的數據填充模板 - 主要停留在這里,不確定如何在模板中指定變量,然后在 VBA 中與它們相關聯
  4. 保存到草稿供以后查看/發送

例如,親愛的 << 客戶名 >> = 親愛的約翰·史密斯

到目前為止我的代碼:

Dim myOlApp As Outlook.Application
Dim MyItem As Outlook.MailItem

Set myOlApp = CreateObject("Outlook.Application")
Set MyItem = myOlApp.CreateItemFromTemplate("C:\egTemplate.oft")

With MyItem
    .To = Worksheets("Clients").Range(1, 2)
    .Subject = "Monthly bill"
    'Refer to and fill in variable items in template
    .Save
End With

Set MyItem = Nothing
Set MyOlApp = Nothing

這是您可以執行的操作:

With MyItem
    'Refer to and fill in variable items in template
    .Body = Replace(.Body, "<< clientname >>", Worksheets("Clients").Range(1, 2))
End With

或者,如果您的郵件是 HTML:

With MyItem
    'Refer to and fill in variable items in template
    .HTMLBody = Replace(.HTMLBody, "&lt;&lt; clientname &gt;&gt;",  Worksheets("Clients").Range(1, 2))
End With

在 Excel / Outlook 2007 上測試成功

這是郵件合並的完美工作。 如果您想以編程方式執行此操作,請參閱

使用 VBA 在 Word+Excel 中合並郵件

或者您可以簡單地手動(從 Word)執行此操作,插入合並字段,然后選擇您的工作簿作為數據源。 您可以合並到電子郵件,Outlook 將使用每行/記錄中的信息向每個收件人的電子郵件發送個性化電子郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM