#excel #vba #macos #email
#excel #vba #macos #Адрес электронной почты
Вопрос:
Я пытаюсь отправлять почту на несколько идентификаторов электронной почты каждую неделю. Количество идентификаторов электронной почты меняется каждую неделю (динамический набор данных).
Каждое письмо должно отправляться трем разным получателям в соответствии с приведенной ниже таблицей.
Я попробовал макрос для подсчета последней строки. Если письма нужно отправлять на 30 идентификаторов электронной почты, то только на первые 29 идентификаторов электронной почты.
Sub (mail)
Dim i As Long
Dim mailid1, mailid2, mailid3 As String
Dim Rng As Range
Set Rng = Range("A1", Range("A1").End(xlDown))
Set outapp = CreateObject("Outlook.Application")
Counter = Rng.Count
For i = 2 To Counter ' due to headers i taken as 2
mailid1= Cells(i, 1).Value
mailid2= Cells(i, 2).Value
mailid3= Cells(i, 3).Value
With outmail
outmail.SentOnBehalfOfName = "abx@abc.com"
.To = mailid1 amp; ";" amp; mailid2
.CC = mailid3
.Importance = 2
.Subject = mail subject
.HTMLBody = Mail text
.Attachments.Add ("File1")
.Attachments.Add ("File2")
.send
End With
On Error GoTo 0
'Increment i for looping, wait at least 10 seconds before sending next email
Application.Wait (Now TimeValue("0:00:03"))
Next i
Loop
MsgBox "Email Sucessfull for ALL"
End Sub
Комментарии:
1. У
Loop
этого нетDo
открывающего его, и имя подпрограммы не должно быть в скобках. В любом случае, предполагая, что специфичный для почты код работает (а я не думаю, чтоmail subject
это иMail text
сделало бы это возможным), я бы посоветовал проверить ваши данные, потому что код должен охватывать весь список. Все ли адреса электронной почты действительны?2. спасибо, по ошибке я упомянул здесь цикл.. я только что привел примеры почтовых идентификаторов, чтобы вы поняли это требование. спасибо, теперь все улажено … Я получил ответ сам..
Ответ №1:
Я нашел ответ, ответ сам по себе. я внес нижеприведенные изменения..
Set rng = Range("B1", Range("B1").End(xlDown))
Counter = rng.Count
For i = 2 To Counter
и добавьте еще одну кодировку
If RequestorEmail <> blank Then 'header name of Row B
With outmail