Skip to main content

 ¿Cómo enviar un calendario a varios destinatarios individualmente en Outlook?

Author: Xiaoyang Last Modified: 2025-08-06

Normalmente, puede enviar un calendario a un destinatario de forma rápida y sencilla utilizando la función de Correo electrónico del Calendario en Outlook. Si desea enviar un calendario adjunto como archivo iCalendar a varios contactos individualmente, necesita hacerlo uno por uno. En este artículo, hablaré sobre una manera fácil de enviar un calendario a múltiples destinatarios individualmente en Outlook.

Enviar un calendario a múltiples destinatarios individualmente con código VBA


Enviar un calendario a múltiples destinatarios individualmente con código VBA

Para enviar un calendario a varios destinatarios por separado, el siguiente código VBA puede ayudarle, haga lo siguiente:

1. Navegue hasta el panel de Contactos y seleccione los contactos a los que desea enviar el calendario.

2. Luego mantenga presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

3. Haga clic en Insertar > Módulo, copie y pegue el siguiente código en el módulo en blanco abierto, vea la captura de pantalla:

Código VBA: Enviar un calendario a múltiples destinatarios individualmente:

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. Después de insertar el código, presione la tecla F5 para ejecutar este código, y aparecerá un cuadro de diálogo Seleccionar Carpeta, por favor seleccione un calendario que desee enviar, vea la captura de pantalla:

doc send calendar to multiple persons 2

5. Haga clic en Aceptar, y luego especifique el rango de fechas que desea enviar el calendario en los siguientes cuadros de diálogo, vea la captura de pantalla:

doc send calendar to multiple persons 3

6. Y luego, haga clic en Aceptar, se han creado nuevos correos electrónicos con el calendario adjunto como se muestra en la siguiente captura de pantalla, luego solo necesita enviarlos uno por uno.

doc send calendar to multiple persons 4

Artículos relacionados:

¿Cómo enviar un correo electrónico a múltiples destinatarios individualmente en Outlook?

¿Cómo enviar correos electrónicos masivos personalizados desde Excel a través de Outlook?

¿Cómo enviar múltiples borradores a la vez en Outlook?

¿Cómo enviar un correo electrónico a múltiples destinatarios sin que ellos lo sepan en Outlook?


Las mejores herramientas de productividad para Office

Últimas noticias: ¡Kutools para Outlook lanza una versión gratuita!

¡Descubre el nuevo Kutools para Outlook con más de100 funciones increíbles! ¡Haz clic para descargarlo ahora!

🤖 Kutools AI : Utiliza tecnología avanzada de IA para gestionar correos electrónicos sin esfuerzo, como responder, resumir, optimizar, ampliar, traducir y redactar mensajes.

📧 Automatización de Email: Respuesta automática (disponible para POP e IMAP) / Programar envío de correos electrónicos / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con varios destinatarios en mensajes individuales ...

📨 Gestión de Email: Recuperar correos electrónicos / Bloquear correos sospechosos por asunto y otros criterios / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Organizar carpetas ...

📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir ...

🌟 Magia de la Interfaz: 😊Más emojis atractivos y geniales / Recibe avisos cuando lleguen emails importantes / Minimiza Outlook en vez de cerrarlo ...

👍 Funciones de un solo clic: Responder a Todos con Adjuntos / Correos electrónicos Anti-Phishing / 🕘Mostrar la zona horaria del remitente ...

👩🏼‍🤝‍👩🏻 Contactos y Calendario: Agregar en lote contactos de correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños ...

Utiliza Kutools en tu idioma preferido; ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Desbloquea Kutools para Outlook al instante con un solo clic. ¡No esperes más, descárgalo ahora y aumenta tu productividad!

kutools for outlook features1 kutools for outlook features2