Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

VBA: Modificar Citas de Outlook desde Excel

Hoy veremos una variante de unos artículos publicados sobre Outlook y Excel (aquí y sobre todo aquí) que servirá para contestar la duda de un lector, que planteaba cuál sería la forma de modificar una cita de un calendario de Outlook desde Excel.

La idea del Asunto es poder localizar una Cita concreta, en el ejemplo siguiente la buscaremos por dos criterios frecuentes:
1. por fechas
2. por el asunto
Para luego modificar alguna de sus propiedades... aprovechando la doble característica de lectura-escritura.


Así pues, insertaremos el siguiente procedimiento en un módulo estándar:

Sub ModificacionCitasdeOutlook()
'petición lector:
'solo necesitaria saber como puedo hacer para que sobre escriba si una cita es duplicada o modificada.

Dim olApp As Object, olNS As Object, olCalendario As Object
Dim Cita As Object
Dim fila As Long

'El rango de fecha de la Cita buscada... (si es que va a ser este el criterio!!).
Dim FechaIni As Date, FechaFin As Date
FechaIni = DateSerial(2018, 7, 10) + TimeSerial(10, 0, 0)
FechaFin = DateSerial(2018, 7, 10) + TimeSerial(10, 30, 0)

'Trabajamos sobre Outlook
Set olApp = CreateObject("Outlook.Application")
Set olNS = olApp.GetNamespace("MAPI")
'declaramos el objeto de la carpeta de los Calendarios
'(9 equivale a la carpeta del Calendario)
Set olCalendario = olNS.GetDefaultFolder(9)

'Ordenamos las Citas por Fecha de Inicio
Set misCitas = olCalendario.Items
misCitas.Sort "[Start]", False

'recorremos todas las citas del calendario
For Each Cita In misCitas
'para cambiar/modificar por fecha o por Asunto
'If Cita.Start >= FechaIni And Cita.Start 'si el asunto es...
If Cita.Subject = "Borrar-Excelforo" Then
'vemos en la ventana de inmediato el Asunto antes de la modificación
Debug.Print Cita.Subject
Cita.Subject = "Cambiado" 'realizamos el cambio por este nuevo asunto
Cita.Save 'guardamos la cita
'y volvemos a verificar en la ventana de inmediato como ha quedado
Debug.Print Cita.Subject
End If
Next Cita

MsgBox "Cita modificada..."

'liberamos memoria
Set Cita = Nothing
Set olCalendario = Nothing
Set olNS = Nothing
Set olApp = Nothing

End Sub
Listo. Puedes comprobar que si existe esa cita, el cambio se ha realizado correctamente....


This post first appeared on EXCEL FORO: EJERCICIOS, EJEMPLOS, SOLUCIONES, DUDA, please read the originial post: here

Share the post

VBA: Modificar Citas de Outlook desde Excel

×

Subscribe to Excel Foro: Ejercicios, Ejemplos, Soluciones, Duda

Get updates delivered right to your inbox!

Thank you for your subscription

×