KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como calcular e apresentar idades com base nas datas de aniversário no calendário do Outlook?

AutorKelly Data de Modificação

De um modo geral, o aniversário de um contacto é automaticamente adicionado como um compromisso recorrente anual no calendário. Mas sabe como calcular a idade do contacto e apresentá-la diretamente na vista do calendário? Este artigo mostra um método VBA para calcular a idade de cada contacto e exibi-la no assunto do respetivo compromisso recorrente no Outlook.

Calcular e apresentar idades com base nos aniversários no calendário do Outlook

a captura de ecrã do cálculo da idade com base nas datas de aniversário no Outlook

Calcular e apresentar idades com base nos aniversários no calendário do Outlook

Para calcular a idade de cada contacto e apresentá-la no assunto do compromisso recorrente correspondente no calendário do Outlook, proceda da seguinte forma:

1. Abra a pasta predefinida do calendário e prima as teclas «Alt» + "F11" para aceder à janela «Microsoft Visual Basic for Applications».

2. Clique em «Inserir» > «Módulo» e cole o seguinte código VBA na nova janela do módulo.

VBA: Calcular e apresentar as idades dos contactos no calendário do Outlook

Option Explicit
Public Sub UpdateAges()
Dim xOlApp As Outlook.Application
Dim xOlFolder As Outlook.Folder
Dim xOlItems As Outlook.Items
Dim xAppointmentItem As AppointmentItem
Dim xAge As Integer
Dim xOlProp As Outlook.UserProperty
Set xOlApp = Outlook.Application
Set xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Set xOlItems = xOlFolder.Items
For Each xAppointmentItem In xOlItems
If (InStr(1, xAppointmentItem.Subject, "Birthday") Or InStr(1, xAppointmentItem.Subject, "Anniversary")) And xAppointmentItem.IsRecurring = True Then
With xAppointmentItem
If xAppointmentItem.UserProperties("Original Subject") Is Nothing Then
Set xOlProp = xAppointmentItem.UserProperties.Add("Original Subject", olText, True)
xOlProp.Value = .Subject
.Save
End If
xAge = DateDiff("yyyy", .Start, Date)
.Subject = .UserProperties("Original Subject") & " (" & xAge & " in " & Format(Date, "yyyy") & ")"
.Save
End With
End If
Next
Set xAppointmentItem = Nothing
Set xOlItems = Nothing
Set xOlFolder = Nothing
Set xOlApp = Nothing
End Sub

3. Prima "F5" ou clique no botão «Executar» para rodar o código VBA.

Ao regressar ao calendário predefinido, verá a idade de cada contacto calculada e exibida no assunto do compromisso recorrente de aniversário. Veja a captura de ecrã:

a captura de ecrã do passo sobre o cálculo da idade com base nas datas de aniversário no Outlook 1

Notas:
(1) No assunto do compromisso recorrente do aniversário de um contacto, a idade do contacto é indicada entre parênteses — por exemplo, (41 em 2017), em que 41 corresponde à idade e 2017 ao ano atual.
(2) Se alterar o aniversário de um contacto na pasta de contactos, a idade exibida será automaticamente removida do calendário.
(3) Este código VBA funciona apenas com o calendário predefinido do Outlook.


Artigos Relacionados


Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook funcionalidades1kutools for outlook funcionalidades2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint