У меня есть лист Excel со следующими значениями в диапазоне A1: B7
+----------------+--------------------+
| Recipient Type | Recipient Addresss |
+----------------+--------------------+
| To | a@xyz.com |
| To | b@xyz.com |
| CC | c@xyz.com |
| CC | d@xyz.com |
| BCC | e@xyz.com |
| BCC | f@xyz.com |
+----------------+--------------------+
Затем я создал следующий макрос VBA, чтобы добавить их в качестве получателей электронной почты в Outlook
Option Explicit
Sub Add_Recipients_Data_and_Type()
Dim olApp As Outlook.Application
Set olApp = GetObject(, "Outlook.Application")
Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)
olMail.Display
Dim rn As Range
Dim cl As Range
Dim i As Long
i = 1
Set rn = Range("A1").CurrentRegion.Columns(1).Range(Cells(1, 1), Cells(Range("A1").CurrentRegion.Rows.Count, 1))
For Each cl In rn
Select Case cl.Value
Case "To"
olMail.Recipients.Add(cl.Offset(0, 1).Value).Type = olTo
Case "CC"
olMail.Recipients.Add(cl.Offset(0, 1).Value).Type = olCC
Case "BCC"
olMail.Recipients.Add(cl.Offset(0, 1).Value).Type = olBCC
End Select
i = i + 1
Next cl
End Sub
Проблема в том, что .. последний получатель, т. Е. F@xyz.com всегда добавляется в поле «Кому» вместо поля «BCC». Однако, если я сделаю пустую пустую запись в последней строке в таблице следующим образом тип получателя = BCC и адрес получателя = "" (один пустой пробел), затем код работает и добавляет двух получателей в поле «Кому», «CC» и «BCC», как первоначально предполагалось
Что может бытьпричина?