Excelには3つの列があります:
A: B: C:
UserName UsermailAddress RecordToBeDeleted
以下のコードを Excel で使用して、Outlook から (OFT ファイルを使用して) Excel スプレッドシートの列 B の各電子メール アドレスに送信および電子メールを送信しています。
私が持っているコードは、列Bの各メールアドレスに送信する限り機能します
私が抱えている問題は、電子メール メッセージ (OFT ファイル) に 2 つのキーワード (UserName
およびRecordToBeDeleted
) があり、そのメール アドレスに送信される各電子メールで置き換える必要があることです。
コードは OFT ファイルで 2 つのキーワードを検出しますが、それらを削除するか、null エントリに置き換えます。
OFTメールメッセージのExcelファイルの単語を置き換えることができるように、私は何を間違っていますか.
ExcelシートにあるVBAは次のとおりです。
Sub RunEmails()
Dim i As Integer
Dim rngCell As Range
For Each rngCell In Range("A2", "A" & CStr(Cells(Rows.Count, "A").End(xlUp).Row))
Call DoTest(rngCell.Offset(0, 1).Value, "JDoe@abc.com", rngCell.Offset(0, 2).Value, rngCell.Value)
Next rngCell
End Sub
Sub DoTest(EmailAddress As String, CCAddress As String, RecordToBeDeleted As String, UserName As String)
Dim oApp As New Outlook.Application
Dim olNewMail As Outlook.MailItem
Const Template As String = "D:\Documents\list\list-mail.oft"
Set olNewMail = oApp.CreateItemFromTemplate(Template)
olNewMail.Recipients.Add EmailAddress
olNewMail.HTMLBody = Replace(olNewMail.HTMLBody, ">UserName<", UserName)
olNewMail.HTMLBody = Replace(olNewMail.HTMLBody, ">RecordToBeDeleted<", RecordToBeDeleted)
olNewMail.VotingOptions = "Can distribution list be Deleted YES;Can distribution list be Deleted NO"
olNewMail.Send
End Sub