Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

 Como enviar um calendário para vários destinatários individualmente no Outlook?

Author Xiaoyang Last modified

Normalmente, você pode enviar um calendário para um destinatário rapidamente e facilmente usando o recurso E-mail Calendar no Outlook. Se você deseja enviar um calendário anexado como arquivo iCalendar para vários contatos individualmente, é necessário enviá-lo um por um. Neste artigo, vou falar sobre uma maneira fácil de enviar um calendário para múltiplos destinatários individualmente no Outlook.

Enviar um calendário para vários destinatários individualmente com código VBA


Enviar um calendário para vários destinatários individualmente com código VBA

Para enviar um calendário para vários destinatários separadamente, o seguinte código VBA pode ajudá-lo, faça o seguinte:

1. Navegue até o painel Contatos e selecione os contatos para os quais deseja enviar o calendário.

2. Em seguida, pressione as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.

3. Clique em Inserir > Módulo, copie e cole o código abaixo no módulo em branco aberto, veja a captura de tela:

Código VBA: Enviar um calendário para vários destinatários 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. Após inserir o código, pressione a tecla F5 para executar este código, e uma caixa de diálogo Selecionar Pasta será exibida, por favor, selecione um calendário que deseja enviar, veja a captura de tela:

doc send calendar to multiple persons 2

5. Clique em OK e, em seguida, especifique o intervalo de datas que deseja enviar o calendário nas caixas de prompt a seguir, veja a captura de tela:

doc send calendar to multiple persons 3

6. Depois disso, clique em OK, novos emails com o calendário anexado serão criados conforme mostrado na captura de tela a seguir, então você só precisa enviá-los um por um.

doc send calendar to multiple persons 4

Artigos Relacionados:

Como enviar um email para vários destinatários individualmente no Outlook?

Como enviar emails personalizados em massa para uma lista do Excel via Outlook?

Como enviar vários rascunhos de uma vez no Outlook?

Como enviar email para vários destinatários sem que eles saibam no Outlook?


Melhores Ferramentas de Produtividade para Office

Notícia de Última Hora: Kutools para Outlook Lança Versão Gratuita!

Experimente o novo Kutools para Outlook com mais de100 recursos incríveis! Clique para baixar agora!

🤖 Kutools AI : Utiliza tecnologia avançada de IA para gerenciar e-mails com facilidade, incluindo responder, resumir, otimizar, estender, traduzir e criar e-mails.

📧 Automação de E-mail: Resposta automática (Disponível para POP e IMAP)  /  Agendar Enviar Email  /  CC/BCC automático por Regra ao Enviar Email  /  Encaminhamento automático (Regra avançada)   /  Adicionar Saudação automaticamente   /  Dividir automaticamente Emails com múltiplos destinatários em Email individuais ...

📨 Gerenciamento de Email: Recallar Email  /  Bloquear emails fraudulentos por Assunto e outros critérios  /  Excluir Duplicado  /  Pesquisa Avançada  /  Organizar Pastas ...

📁 Anexos ProSalvar em Lote  /  Desanexar em Lote  /  Comprimir em Lote  /  Salvar automaticamente   /  Desanexar automaticamente  /  Auto Comprimir ...

🌟 Magia da Interface: 😊Mais emojis bonitos e legais   /  Notificações de emails importantes  /  Minimizar Outlook em vez de fechar ...

👍 Recursos de um clique: Responder a Todos com Anexos  /   Emails Anti-Phishing  /  🕘Exibir o fuso horário do remetente ...

👩🏼‍🤝‍👩🏻 Contatos e Calendário: Adicionar contato em lote dos Email selecionados  /  Dividir um Grupo de Contatos em grupos individuais  /  Remover lembrete de aniversário ...

Utilize o Kutools no idioma que preferir — disponível em Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique. Não espere, baixe agora e aumente sua eficiência!

kutools for outlook features1 kutools for outlook features2

🚀 Download com um clique — Baixe todos os complementos de Office

Recomendado fortemente: Kutools para Office (5 em1)

Um clique para baixar cinco instaladores de uma vez — Kutools para Excel, Outlook, Word, PowerPoint e Office Tab Pro. Clique para baixar agora!

  • Comodidade em um clique: Baixe todos os cinco pacotes de instalação em uma única ação.
  • 🚀 Pronto para qualquer tarefa no Office: Instale os complementos que você precisa, quando precisar.
  • 🧰 Inclui: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint