Ligar Excel y Outlook

16/05/2009 - 01:28 por Alex | Informe spam
Hola a todos

Tengo una hoja en Excel donde capturo varios datos dentro de los cuales
tengo una fecha que quisiera recordar, me gustaria saber si esta fecha la
puedo enviar a mi calendario de Outlook para que cuando sea la fecha me mande
avisos, igual en mi blackberry-. Gracias.

Preguntas similare

Leer las respuestas

#6 Javi
25/05/2009 - 09:41 | Informe spam
Buenas,

A ver no tengo ni idea de los scripts que comentas, lo unico que quiero es
que en un excel en el que tengo, por ejemplo, proveedores con fechas de
finalización de contrato me avise antes de las fechas que tengo en el excel..

Ejemplo

campofrio x x 28/05/09 x
navidul x x 05/06/09 x

Pues necesito, por ejemplo, que me avise una semana antes del vencimiento
del contrato.

Gracias

"Héctor Miguel" wrote:

hola, Javi !

> No me salen las macros, necesito un poco de ayuda

puedes comentar (de preferencia, +/- exactamente) lo que intentas que no te esta funcionando ?

- la macro que estas usando/adaptando/...
- el rango y la hoja donde estan los datos (y el tipo de datos) para establecer la cita en outlook
- si al ejecutar la macro obtienes algun error (texto y numero del mensaje + linea que se marca en la macro)
- si ya ESTABLECISTE ?... una referencia a la libreria del modelo de objetos de outlook en tu proyecto de macros

saludos,
hector.

__ previos __
>>>> Tengo una hoja en Excel donde capturo varios datos dentro de los cuales tengo una fecha que quisiera recordar
>>>> me gustaria saber si esta fecha la puedo enviar a mi calendario de Outlook para que cuando sea la fecha me mande avisos ...
>>
>> aqui tienes un ejemplo con macros desde excel: http://tinyurl.com/q6kkeq



Respuesta Responder a este mensaje
#7 Héctor Miguel
26/05/2009 - 06:58 | Informe spam
hola, Javi !

A ver no tengo ni idea de los scripts que comentas
lo unico que quiero es que en un excel en el que tengo, por ejemplo, proveedores con fechas de finalizacion de contrato
me avise antes de las fechas que tengo en el excel...
Ejemplo
campofrio x x 28/05/09 x
navidul x x 05/06/09 x
Pues necesito, por ejemplo, que me avise una semana antes del vencimiento del contrato.



bueno... no pude "ver" cual es el rango ni la hoja donde tienes los datos :-((
el siguiente ejemplo "asume" que tienes un arreglo +/- asi
col-A: concepto de la cita, col-B: hora de incio, col-C: fecha de inicio, col-D: hora de termino, col-E: fecha de termino
titulos en la fila 1, los datos inician en la fila 2, y la macro que me ha funcionado es la siguiente:

Public Sub EstablecerCitasEnOutlook()
Dim nOutlook As Object, Cita As Object, _
Fila As Integer, uFila As Integer
uFila = Range("a65536").End(xlUp).Row
Set nOutlook = CreateObject("outlook.application")
For Fila = 2 To uFila
Set Cita = nOutlook.CreateItem(1)
Cita.Subject = Range("a" & Fila).Value
Cita.Start = Format(Range("b" & Fila).Value, "hh:mm AMPM") & _
Format(Range("c" & Fila).Value, "mm/dd/yyyy")
Cita.End = Format(Range("d" & Fila).Value, "hh:mm AMPM") & _
Format(Range("e" & Fila).Value, "mm/dd/yyyy")
Cita.ReminderMinutesBeforeStart = 10080 ' 7(dias) x 24(horas) x 60(minutos)
Cita.ReminderPlaySound = True
Cita.Save
Next
nOutlook.Quit
Set nOutlook = Nothing
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#8 Javi
26/05/2009 - 15:34 | Informe spam
Bien parece que funciona bastante bien pero tengo tres dudas todavia..

Primero que el outlook se cierra al ejecutar el script.

Segundo se pueden dar avisos sin el campo Hora¿? Es decir si el excel solo
contiene dias

Tercero se puede hacer de forma automatica la ejecucion del script? O hay
que entrar dentro del excel y darle a ejecutar?

Muchas Gracias por tu ayuda

"Héctor Miguel" wrote:

hola, Javi !

> A ver no tengo ni idea de los scripts que comentas
> lo unico que quiero es que en un excel en el que tengo, por ejemplo, proveedores con fechas de finalizacion de contrato
> me avise antes de las fechas que tengo en el excel...
> Ejemplo
> campofrio x x 28/05/09 x
> navidul x x 05/06/09 x
> Pues necesito, por ejemplo, que me avise una semana antes del vencimiento del contrato.

bueno... no pude "ver" cual es el rango ni la hoja donde tienes los datos :-((
el siguiente ejemplo "asume" que tienes un arreglo +/- asi
col-A: concepto de la cita, col-B: hora de incio, col-C: fecha de inicio, col-D: hora de termino, col-E: fecha de termino
titulos en la fila 1, los datos inician en la fila 2, y la macro que me ha funcionado es la siguiente:

Public Sub EstablecerCitasEnOutlook()
Dim nOutlook As Object, Cita As Object, _
Fila As Integer, uFila As Integer
uFila = Range("a65536").End(xlUp).Row
Set nOutlook = CreateObject("outlook.application")
For Fila = 2 To uFila
Set Cita = nOutlook.CreateItem(1)
Cita.Subject = Range("a" & Fila).Value
Cita.Start = Format(Range("b" & Fila).Value, "hh:mm AMPM") & _
Format(Range("c" & Fila).Value, "mm/dd/yyyy")
Cita.End = Format(Range("d" & Fila).Value, "hh:mm AMPM") & _
Format(Range("e" & Fila).Value, "mm/dd/yyyy")
Cita.ReminderMinutesBeforeStart = 10080 ' 7(dias) x 24(horas) x 60(minutos)
Cita.ReminderPlaySound = True
Cita.Save
Next
nOutlook.Quit
Set nOutlook = Nothing
End Sub

saludos,
hector.



Respuesta Responder a este mensaje
#9 Héctor Miguel
26/05/2009 - 22:33 | Informe spam
hola, Javi !

1) outlook se cierra por efecto de la penultima instruccion: -> nOutlook.Quit
prueba a eliminarla o ponerle una marca de comentario al inicio de esa linea (un apostrofo -> ' )

2) (hasta donde se) la hora es necesaria para las "citas" en outlook (una posible alternativa ?)
si en excel solo tienes UNA fecha, prueba usando alguna hora "estandar" (para "Start" y "End")

3) la macro esta preparada para ejecutarse desde excel, puesto que en excel es donde tienes "los datos"
o sea, SI es necesario abrir excel y el archivo que contiene tanto los datos como la macro

si comentas detalles mas... "precisos", seria mas facil ofrecer propuestas mas... "precisas"

saludos,
hector.

__ OP __
Bien parece que funciona bastante bien pero tengo tres dudas todavia..
__ 1 __
Primero que el outlook se cierra al ejecutar el script.
__ 2 __
Segundo se pueden dar avisos sin el campo Hora, Es decir si el excel solo contiene dias
__ 3 __
Tercero se puede hacer de forma automatica la ejecucion del script?
O hay que entrar dentro del excel y darle a ejecutar?



__ previos __
A ver no tengo ni idea de los scripts que comentas
lo unico que quiero es que en un excel en el que tengo, por ejemplo, proveedores con fechas de finalizacion de contrato
me avise antes de las fechas que tengo en el excel...
Ejemplo
campofrio x x 28/05/09 x
navidul x x 05/06/09 x
Pues necesito, por ejemplo, que me avise una semana antes del vencimiento del contrato.



bueno... no pude "ver" cual es el rango ni la hoja donde tienes los datos :-((
el siguiente ejemplo "asume" que tienes un arreglo +/- asi
col-A: concepto de la cita, col-B: hora de incio, col-C: fecha de inicio, col-D: hora de termino, col-E: fecha de termino
titulos en la fila 1, los datos inician en la fila 2, y la macro que me ha funcionado es la siguiente:

Public Sub EstablecerCitasEnOutlook()
Dim nOutlook As Object, Cita As Object, _
Fila As Integer, uFila As Integer
uFila = Range("a65536").End(xlUp).Row
Set nOutlook = CreateObject("outlook.application")
For Fila = 2 To uFila
Set Cita = nOutlook.CreateItem(1)
Cita.Subject = Range("a" & Fila).Value
Cita.Start = Format(Range("b" & Fila).Value, "hh:mm AMPM") & _
Format(Range("c" & Fila).Value, "mm/dd/yyyy")
Cita.End = Format(Range("d" & Fila).Value, "hh:mm AMPM") & _
Format(Range("e" & Fila).Value, "mm/dd/yyyy")
Cita.ReminderMinutesBeforeStart = 10080 ' 7(dias) x 24(horas) x 60(minutos)
Cita.ReminderPlaySound = True
Cita.Save
Next
nOutlook.Quit
Set nOutlook = Nothing
End Sub
Respuesta Responder a este mensaje
#10 Javi
27/05/2009 - 10:50 | Informe spam
Muchas gracias ya he conseguido que funcione bastante bien, a ver si con un
poco más lo dejo perfecto..

Ya no se cierra el outlook y parece que las horas no molestan, lo que tengo
que retocar es lo siguiente:

Da un error en tiempo de ejecución, exactamente "se ha producido el error
'-2147467259 (8004005)' en tiempo de ejecución:
La fecha de finalización especificada es anterior a la fecha de comienzo."

He comprobado las fechas y parecen estar bien..

Lo que he tenido que retocar un poko el script y hay algunas cosas que no se
como tocar, la idea del script es que avise de una manera determinada..

Te dejo un ejemplo de como esta montado el excel:

nombre o razón social fecha fin ctto fecha comunicado
SIDETEX 31/03/2008 15/12/2007
SAN MIGUEL 30/04/2008 30 31/03/2008
REPSOL - GASOIL 14/06/2008 14/04/2008

Y asi es como quiero que me avise el outlook:

Aviso dia 15/12/2007
Finalizacion contrato SIDETEX


Te dejo el script como lo tengo ahora mismo:

Public Sub EstablecerCitasEnOutlook()
Dim nOutlook As Object, Cita As Object, _
Fila As Integer, uFila As Integer
uFila = Range("a65536").End(xlUp).Row
Set nOutlook = CreateObject("outlook.application")
For Fila = 2 To uFila
Set Cita = nOutlook.CreateItem(1)
Cita.Subject = Range("a" & Fila).Value
Cita.Start = "09:00 AM" & _
Format(Range("d" & Fila).Value, "dd/mm/yyyy")
Cita.End = "18:00 PM" & _
Format(Range("b" & Fila).Value, "dd/mm/yyyy")
Cita.ReminderMinutesBeforeStart = 120 ' 7(dias) x 24(horas) x 60(minutos)
Cita.ReminderPlaySound = True
Cita.Save
Next
'nOutlook.Quit
Set nOutlook = Nothing
End Sub

Muchas gracias, Un saludo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida