0
我需要生成一系列电子邮件,用于附加特定文件夹中的pdf文件。我是新手,但对我正在使用的代码有一些了解。我的问题是,我无法控制正在生成的电子邮件数量。我希望能够生成在我的目录(行)中有条目的确切数量的电子邮件。在Outlook中使用目录中的VBA生成电子邮件
这是代码,任何帮助将不胜感激:
Sub create_email()
'On Error Resume Next
'Dim oMail As Outlook.MailItem`
'Dim num_clients, start_row As Integer`
Sheets("Control").Activate
start_row = Range("start_row").row
num_clients = Range("B100").End(xlUp).row - start_row
For i = 1 To num_clients
Set oMail = Outlook.Application.CreateItem(olMailItem)
'Subject line
oMail.Subject = Range("J9").Offset(i - 1, 0)
'Distribution list
Set RecipTo = oMail.Recipients.Add(Range("K9").Offset(i - 1, 0))
RecipTo.Type = olTo
Set RecipCC = oMail.Recipients.Add(Range("L9").Offset(i - 1, 0))
RecipCC.Type = olCC
oMail.SentOnBehalfOfName = "[email protected]"
oMail.Recipients.ResolveAll
'Attachments + message
oMail.Attachments.Add Range("E9").Offset(i - 1, 0) & "\" & Range("F9").Offset(i - 1, 0)
oMail.HTMLBody = "<html><p><font face=""Calibri""><font size=3>Dear Sir/ Madam,</p>" & _
"<html><p><font face=""Calibri"">Kind regards,</p>"
'Displays email pre-send
oMail.Display
Sheets("Control").Activate
Set oMail = Nothing
Next i
End Sub
你可以澄清“我无法控制电子邮件的数量”,当我现在运行宏它产生11个电子邮件您的代码将产生正是'num_clients'电子邮件 – avb
。如果我将更改为B1,例如它会生成1封电子邮件。如果我将其更改为B9,它会生成7.我知道这是对我的缺乏理解,但似乎无法弄清控制要生成的电子邮件范围的代码部分 –
Jimmy