Kelly tiene una hoja de trabajo en la que tiene una tabla de fechas que se utilizan como fechas de cierre para colocar anuncios en las Páginas Amarillas locales. Quiere importar estas fechas a Outlook Calendar

con un recordatorio de 72 horas, pero algunas de las fechas siguen cambiando a números.

Kelly se pregunta cómo puede obtener las fechas de Excel en Outlook como necesita.

Trabajar con Outlook es un poco «de nivel superior» que su macro de Excel común y corriente porque necesita comprender no solo cómo acceder a los datos de Excel en la macro, sino también cómo manipular los datos de Outlook. Sin saber exactamente qué datos necesita transferir de la hoja de trabajo a la cita de Outlook, examinemos un breve escenario.

Supongamos que tiene una hoja de trabajo que contiene una serie de filas, cada una de las cuales representa una única cita que desea crear. Cada cita contiene información en siete columnas, de la siguiente manera, de izquierda a derecha:

Asunto. * Texto que describe el evento / cita (por ejemplo, «Recordatorio de páginas amarillas»)

Ubicación. * Texto que describe la ubicación del evento, como una sala de reuniones o un número de llamada de conferencia (esto es opcional)

Fecha / hora de inicio. * Ingrese la fecha y la hora en que el evento debería comenzar usando un formato de fecha estándar de Excel (puede mostrar la forma que desee)

Duración. Número entero que representa una cantidad de minutos para el estado de ocupado de la cita. Número entero que representa un valor opcional que indica si el tiempo debe mostrarse como Libre (0), Provisional (1), Ocupado (2) o Fuera de la oficina (3)

Hora del recordatorio. * Número entero que representa una cantidad de minutos antes de la cita que debe aparecer un recordatorio (como en 4320, que es la cantidad de minutos en 3 días)

Cuerpo. * Texto que describe cualquier detalle que desee colocar en el cuerpo de la cita

Con estos datos en su lugar, puede usar una macro para recorrer todas las filas (comenzando con la segunda fila, asumiendo que la primera fila tiene encabezados)

y cree una cita para cada fila.

Sub AddAppointments()

' Create the Outlook session     Set myOutlook = CreateObject("Outlook.Application")



' Start at row 2     r = 2

Do Until Trim(Cells(r, 1).Value) = ""

' Create the AppointmentItem          Set myApt = myOutlook.createitem(1)

' Set the appointment properties         myApt.Subject = Cells(r, 1).Value         myApt.Location = Cells(r, 2).Value         myApt.Start = Cells(r, 3).Value         myApt.Duration = Cells(r, 4).Value         ' If Busy Status is not specified, default to 2 (Busy)

If Trim(Cells(r, 5).Value) = "" Then             myApt.BusyStatus = 2         Else             myApt.BusyStatus = Cells(r, 5).Value         End If         If Cells(r, 6).Value > 0 Then             myApt.ReminderSet = True             myApt.ReminderMinutesBeforeStart = Cells(r, 6).Value         Else             myApt.ReminderSet = False         End If         myApt.Body = Cells(r, 7).Value         myApt.Save         r = r + 1     Loop End Sub

La macro continúa recorriendo las filas hasta que la columna Asunto está vacía.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (7349) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.