Перейти к содержимому

 Как отправить календарь нескольким получателям по отдельности в Outlook?

Author: Xiaoyang Last Modified: 2025-06-05

Обычно вы можете быстро и легко отправить календарь получателю, используя функцию Электронная почта Календаря в Outlook. Если вы хотите отправить календарь как прикрепленный файл iCalendar нескольким контактам по отдельности, вам нужно отправлять его по одному. В этой статье я расскажу о простом способе отправки календаря нескольким получателям по отдельности в Outlook.

Отправка календаря нескольким получателям по отдельности с помощью кода VBA


Отправка календаря нескольким получателям по отдельности с помощью кода VBA

Чтобы отправить календарь нескольким получателям по отдельности, следующий код VBA может помочь вам, сделайте следующее:

1. Перейдите на панель Контакты и выберите контакты, которым хотите отправить календарь.

2. Затем удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

3. Нажмите Вставить > Модуль, скопируйте и вставьте приведенный ниже код в открытый пустой модуль, см. скриншот:

Код VBA: Отправка календаря нескольким получателям по отдельности:

Sub EmailCalendarToMultiplePersonsSeparately()
Dim xSelection As Outlook.Selection
Dim xCalendarFolder As Outlook.Folder
Dim xCalendarExporter As Outlook.CalendarSharing
Dim xStartDate, xEndDate As Date
Dim xCalendarFile As String
Dim xContactItem As Outlook.ContactItem
Dim xDistListItem As Outlook.DistListItem
Dim xItem As Object
Dim xMailItem As Outlook.MailItem
Dim xFilePath, xFileName, xEmailAddress As String
Dim xRecipient As Recipient
On Error Resume Next
xFilePath = CreateObject("WScript.Shell").SpecialFolders(16) & "\MyCalendar"
If Dir(xFilePath, vbDirectory) = "" Then MkDir xFilePath
If Outlook.Application.ActiveExplorer.CurrentFolder.DefaultItemType <> olContactItem Then
    MsgBox "Please Select contacts first!", vbExclamation + vbOKOnly, "Kutools for Outlook"
    Exit Sub
End If
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If xSelection Is Nothing Then Exit Sub
Set xCalendarFolder = Outlook.Application.Session.PickFolder
If xCalendarFolder Is Nothing Then Exit Sub
If xCalendarFolder.DefaultItemType <> olAppointmentItem Then Exit Sub
Set xCalendarExporter = xCalendarFolder.GetCalendarExporter
xStartDate = InputBox("Enter the start date:", "Kutools for Outlook", "")
If Len(Trim(xStartDate)) = 0 Then Exit Sub
xEndDate = InputBox("Enter the end date:", "Kutools for Outlook", "")
If Len(Trim(xEndDate)) = 0 Then Exit Sub
If xStartDate = #1/1/4501# Or xEndDate = #1/1/4501# Then Exit Sub
xFileName = "Calendar (" & Format(xStartDate, "YYYYMMDD") & " - " & Format(xEndDate, "YYYYMMDD") & ").ics"
xCalendarFile = xFilePath & "\" & xFileName
With xCalendarExporter
    .IncludeWholeCalendar = False
    .StartDate = xStartDate
    .EndDate = xEndDate
    .CalendarDetail = olFullDetails
    .IncludeAttachments = True
    .IncludePrivateDetails = False
    .RestrictToWorkingHours = False
    .SaveAsICal xCalendarFile
End With
For Each xItem In xSelection
    If xItem.Class = olContact Then
        Set xContactItem = xItem
        Set xMailItem = Outlook.Application.CreateItem(olMailItem)
        With xMailItem
            .To = xContactItem.Email1Address
            .Recipients.ResolveAll
            .Subject = xFileName
            .Attachments.Add xCalendarFile
            .Body = "Dear " & xContactItem.FullName & "," & vbCrLf & "Type body here..."
            .Display
        End With
    End If
    If xItem.Class = olDistributionList Then
        Set xDistListItem = xItem
        For i = 1 To xDistListItem.MemberCount
            Set xRecipient = xDistListItem.GetMember(i)
            Set xMailItem = Outlook.Application.CreateItem(olMailItem)
            With xMailItem
                .To = xRecipient.AddressEntry.Address
                .Recipients.ResolveAll
                .Subject = xFileName
                .Attachments.Add xCalendarFile
                .Body = "Dear " & xRecipient.Name & "," & vbCrLf & "Type body here..."
                .Display
            End With
        Next i
    End If
Next
End Sub
doc send calendar to multiple persons 1

4. После вставки кода нажмите клавишу F5 для запуска этого кода, и появится диалоговое окно Выбор папки, пожалуйста, выберите календарь, который вы хотите отправить, см. скриншот:

doc send calendar to multiple persons 2

5. Нажмите OK, затем укажите диапазон дат, за которые вы хотите отправить календарь в следующих всплывающих окнах, см. скриншот:

doc send calendar to multiple persons 3

6. Затем нажмите OK, новые электронные письма с прикрепленным календарем будут созданы, как показано на следующем скриншоте, теперь вам просто нужно отправить их по одному.

doc send calendar to multiple persons 4

Связанные статьи:

Как отправить электронное письмо нескольким получателям по отдельности в Outlook?

Как отправить персонализированные массовые электронные письма из списка Excel через Outlook?

Как отправить несколько черновиков одновременно в Outlook?

Как отправить электронное письмо нескольким получателям, не информируя их об этом, в Outlook?


Лучшие инструменты для повышения продуктивности в Office

Срочные новости: Kutools для Outlook запускает бесплатную версию!

Оцените совершенно новую бесплатную версию Kutools для Outlook с более чем70 потрясающими функциями — пользуйтесь ими НАВСЕГДА! Нажмите, чтобы скачать прямо сейчас!

🤖 Kutools AI : Использует передовые технологии искусственного интеллекта для легкой работы с Email: отвечает, резюмирует, оптимизирует, расширяет, переводит и составляет письма.

📧 Автоматизация Email: Автоответчик (доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилу при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения ...

📨 Управление Email: Отозвать письмо / Блокировать мошеннические письма по теме и другим параметрам / Удалить дубликаты писем / Расширенный Поиск / Организовать папки ...

📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...

🌟 Магия интерфейса: 😊Больше красивых и крутых Эмодзи / Напоминание о важных письмах / Сворачивайте Outlook вместо закрытия ...

👍 Мгновенные действия: Ответить всем с вложениями / Антифишинговые Email / 🕘Показать часовой пояс отправителя ...

👩🏼‍🤝‍👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных писем / Разделить группу контактов на отдельные группы / Удалить напоминание о дне рождения ...

Мгновенно активируйте Kutools для Outlook одним кликом. Не ждите — скачайте сейчас и повысьте свою эффективность!

kutools for outlook features1 kutools for outlook features2