Citas Calendarios Personalizados VBA
Desde Office Excel podemos crear, establecer citas en éstos calendarios personalizados de una manera muy rápida, utilizando código Vba.
Sin embargo vienen estas instrucciones pero no lo hacer que funcione:
El método CreateItem utiliza la carpeta principal del tipo de objeto (correo, cita, etc.) :
Set miCita = miOutlook.CreateItem(1)
Por lo que para establecer citas (ó items) en una "determinada" (sub)carpeta, seria necesario
Crear el objeto en la carpeta principal (según su tipo) y después "moverlo" a la (sub)carpeta específica (CreateItem)
Crear el objeto en la (sub)carpeta determinada por la colección <carpeta>. Items. Add (tipo) (NO por el método CreateItem)
Cómo resultado, el código usando "late binding" :
Sub Agendar_en_miCalendario() Dim miOutlook AsObject, miCalendario AsObject, miCita AsObject, _ Fila As Integer, uFila As Integer uFila = Range("a65536").End(xlUp).Row On Error GoTo Crear Set miOutlook = GetObject(, "outlook.application") If Err = 0 ThenGoTo Creado Crear: Err.Clear Set miOutlook = CreateObject("outlook.application") Creado: On Error GoTo0 For Fila = 2 To uFila ' en la col-B se tienen los nombres de los calendarios Set miCalendario = miOutlook.Session.GetDefaultFolder(9).Folders.Item(Range("b" & Fila).Text) Set miCita = miCalendario.Items.Add(1) ' en la col-A se tienen los identificadores del recordatorio/cita miCita.Subject = "Vencimiento de: " & Range("a" & Fila).Value ' en la col-C se tienen las fechas de los vencimientos miCita.Start = "11:00 am" & Format(Range("c" & Fila).Value, "mm/dd/yyyy") miCita.End = "11:15 am" & Format(Range("c" & Fila).Value, "mm/dd/yyyy") miCita.ReminderMinutesBeforeStart = 0 ' se deja en 0 para que avise en ese momento miCita.ReminderPlaySound = True miCita.Save Next miOutlook.Quit Set miCita = Nothing Set miOutlook = Nothing End Sub
Me marca un error en:
Dim miOutlook AsObject, miCalendario AsObject, miCita AsObject,
Y en realidad yo solo quiero para un calendario
Contrato Fechas
405033XXX 2012 2013 2014 2015