Добавить нескольких участников в приглашение на собрание

Я попытался добавить несколько участников, но в области .To указан только последний адрес электронной почты.

Тест 1:

    .RequiredAttendees = "[email protected];"

    .RequiredAttendees = "[email protected]"

Тест 2:

    .RequiredAttendees = "[email protected]; [email protected]"

Полный код:

Sub MeetingInvite()
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(1)
On Error Resume Next
With OutMail
    .RequiredAttendees = "[email protected];"
    .RequiredAttendees = "[email protected]"
    .Subject = "Meeting"
    .Importance = True
    .Body = "Meeting Invite" & Format(Date)
    .Display
End With

Set OutMail = Nothing
Set OutApp = Nothing
Unload Emy
End Sub

Мне нужно добавить примерно 30 адресов электронной почты.


person LivinLife    schedule 02.12.2017    source источник
comment
.RequiredAttendees = "[email protected]; [email protected]" у меня работает   -  person Siddharth Rout    schedule 02.12.2017
comment
i.stack.imgur.com/Oi4hi.png   -  person Siddharth Rout    schedule 02.12.2017
comment
Спасибо -- позвольте мне проверить это еще немного и вернуться. Я ценю подтверждение. Кстати, есть ли максимальное количество писем, которые я могу добавить?   -  person LivinLife    schedule 02.12.2017
comment
MSDN указывает, что вы должны использовать форму, которую вы использовали в тесте 2. Там также говорится, что это только отображаемые имена, и вы должны использовать коллекцию Recipients. msdn.microsoft.com/en- мы/VBA/Outlook-VBA/статьи/   -  person NickSlash    schedule 02.12.2017
comment
is there a maximum number of emails I can add? См. ЭТО   -  person Siddharth Rout    schedule 02.12.2017
comment
Я использовал получателей для массовой генерации электронной почты. Я посмотрю, но .RequiredAttendees = [email protected]; [email protected] не работает с несколькими людьми.   -  person LivinLife    schedule 03.12.2017
comment
На самом деле я придумал более эффективный способ добавления писем в активную книгу. Я пробовал несколько конфигураций этого: Set myRecipient = .Recipients.Add(Range(C2)) но он не тянет больше, чем первую ячейку. Например, Set myRecipient = .Recipients.Add(Range(C2:C10)) не может получить все адреса электронной почты. Это потянет только первый.   -  person LivinLife    schedule 03.12.2017


Ответы (1)


Вы пытаетесь изменить RequiredAttendees. Это свойство содержит отображаемые имена только необходимых участников.

Список участников должен быть установлен с помощью коллекции Recipients. Попробуй это:

With OutMail
    .Recipients.Add ("[email protected]")
    .Recipients.Add ("[email protected]")
    .Subject = "Meeting"
    .Importance = True
    .Body = "Meeting Invite" & Format(Date)
    .Display
End With

Или, если вы хотите прочитать участников с листа:

With OutMail
    For Each cell In Range("C2:C10")
        .Recipients.Add (cell.Value)
    Next cell
    .Subject = "Meeting"
    .Importance = True
    .Body = "Meeting Invite" & Format(Date)
    .Display
End With

Конечно, если вы действительно хотите пригласить 30 участников по почте, было бы разумно запланировать эту встречу на пару дней вперед, а не приглашать их сегодня...

person Peter Pesch    schedule 03.12.2017