Como calcular e apresentar idades com base nas datas de aniversário no calendário do Outlook?
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

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ã:

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
Exportar os aniversários de todos os contactos do Outlook
Remover ou eliminar todos os calendários de aniversários de uma só vez no Outlook
Melhores Ferramentas de Produtividade para o Office
Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!
📧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!


🚀 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