Я пытаюсь написать код, который будет отправлять несколько писем на список адресов электронной почты из листа Excel.
У меня есть файл Excel со списком отделов и менеджера.
Мне нужно отправить каждому менеджеру автоматическое электронное письмо для каждого отдела с некоторой информацией.
Чтобы сделать это, мне нужно, чтобы значение «Rows» оставалось для следующего письма (пытаясь сделать это с помощью цикла «До») - но после того, как первое сообщение сгенерировано, все переменные инициализируются.
Как сохранить значение «Строки» для следующего письма?
Это код:
Sub Sample()
Dim olApp As Object
Dim olMailItm As Object
Dim SDest As String
Dim Class As Variant
Dim Originator As Variant
Dim Rows As Integer
'Create the Outlook application and the empty email.
Set olApp = CreateObject("Outlook.Application")
Set olMailItm = olApp.CreateItem(0)
With olMailItm
Rows = 2
Set Class = Cells(Rows, 3)
Originator = Cells(Rows, 4)
SDest = ""
Do Until Cells(Rows, 3) <> Class
SDest = Cells(Rows, 6).Value & ";" & Cells(Rows, 7).Value
Rows = Rows + 1
Loop
.Display
.To = SDest
.Subject = Cells(Rows, 3)
.Body = "Hello"
End With
Set olMailItm = Nothing
Set olApp = Nothing
End Sub