Crear una entrada en Agenda mediante LotusScript por @Calitrunks


Como hay poca documentación en español acerca de programación para lotus notes, quise compartir este post el día de hoy para todos a quienes pueda servirles. Consiste en crear una entrada en la agenda de correo del usuario con una alerta emergente.

En primer lugar debemos abrir la agenda del usuario sobre el que deseemos crear la entrada(demás esta decir que el usuario que ejecuta el proceso, deberá tener delegado el acceso de escritura en la agenda del usuario que recibirá la entrada). Para abrir la agenda podemos ejecutar el siguiente script,

Sub AbreAgenda(usuario)
On Error Goto ER

Dim dbnames As NotesDatabase
Dim vista As NotesView
Dim doc As NotesDocument
Print “abriendo agenda de ” & usuario
Set dbnames = New NotesDatabase(“servidor/dominio”,”names.nsf”)
Set vista = dbnames.GetView(“($NamesFieldLookup)”)
Set doc = vista.GetDocumentByKey(usuario,True)

If Not doc Is Nothing Then
Set Agenda = New NotesDatabase(doc.MailServer(0), doc.MailFile(0))
Else
Set Agenda = Nothing
End If

Exit Sub
ER:
If Err = 4060 Then
Print “ERROR CON LA AGENDA DEL USUARIO ” & Ucase(usuario)
Exit Sub
Else
Msgbox Error & ” en AbreAgenda linea ” & Erl & ” ” & Err
Exit Sub
End If
End Sub

Luego, podemos ejecutar el siguiente script para crear el recordatorio en la agenda del usuario.

Sub CreaEntradaAgenda()
On Error Goto ER

Dim ws As New NotesUIWorkspace
Set docAgenda = Agenda.CreateDocument

docAgenda.Form=”Appointment”
docAgenda.Subject= estedoc.Mensaje(0)
docAgenda.AppointmentType = “4”
docAgenda.StartDateTime = Now
docAgenda.EndDateTime = Now
docAgenda.StartDate = Now
docAgenda.EndDate = Now
docAgenda.StartTime = Time
docAgenda.EndTime = Time
Call docAgenda.ReplaceItemValue(“_ViewIcon”, 10)
Call docAgenda.ReplaceItemValue(“$PublicAccess”,”1″)
Call docAgenda.ReplaceItemValue(“CalendarDateTime”, Now)
Call docAgenda.ReplaceItemValue(“$Alarm”, “1”)’ activa que tenga alarma
Call docAgenda.ReplaceItemValue(“$AlarmOffset”,0)’ Si es negativo es minutos antes, si es postivo minutos despues, si es 0 enseguida.
Call docAgenda.ReplaceItemValue(“$AlarmUnit”, “M”)
Call docAgenda.ReplaceItemValue(“Alarms”, 1)
Call docAgenda.ComputeWithForm(1,1)
Call docAgenda.Save(1,1)
estedoc.Mensaje = “”
Call ws.EditDocument(True,docAgenda)
Exit Sub
ER:
Msgbox Error & ” en CreaEntradaAgenda linea ” & Erl
Exit Sub
End Sub

Espero que le sea de utilidad.

Anuncios

Acerca de calitrunks

Carlos Astudillo Jamett(@calitrunks), Adventista del 7° Día. Ingeniero en Informática, de la Universidad Tecnológica de Chile. Desarrollador de Software, Apasionado por la tecnología, el emprendimiento y con muchas ganas de compartir el conocimiento y experiencias. Creador de la web http://www.somosaventureros.cl un sitio para difundir el club de aventureros, un lugar donde los niños pueden convertirse en mejores personas y saber que siempre hay oportunidades en la vida sin importar las circunstancias que se enfrenten. Email: castudill@hotmail.com Twitter: https://es.twitter.com/calitrunks

Publicado el marzo 7, 2013 en Lotus Notes, Scripts, Tecnologia y etiquetado en , , . Guarda el enlace permanente. Deja un comentario.

¿Que te pareció este post?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: