Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

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

Author Xiaoyang Last modified

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

Noticia de última hora: ¡Kutools para Outlook lanza su versión gratuita!

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

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

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

📨 Gestión de correo electrónico: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros filtros / Eliminar 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 en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan emails importantes / Minimizar Outlook en vez de cerrar...

👍 Funciones en un clic: Responder a Todos con Adjuntos / Correos antiphishing / 🕘Mostrar la zona horaria del remitente...

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

Utiliza Kutools en tu idioma preferido — disponible en Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales.

Activa Kutools para Outlook al instante con un solo clic. No esperes más, descarga ahora y maximiza tu productividad.

kutools for outlook features1 kutools for outlook features2

🚀 Descarga con un solo clic — Consigue todos los complementos para Office

Muy recomendado: Kutools para Office (5 en1)

Descarga los cinco instaladores a la vez con solo un clic — Kutools para Excel, Outlook, Word, PowerPoint y Office Tab Pro. Haz clic para descargar ahora.

  • Comodidad en un solo clic: Descarga los cinco paquetes de instalación en una sola acción.
  • 🚀 Listo para cualquier tarea en Office: Instala los complementos que necesites cuando los necesites.
  • 🧰 Incluye: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint