En ocasiones tenemos que enviar un mensaje de vital importancia y queremos facilicilarle a los receptores del mensaje la posibilidad que de una forma rápida lo puedan añadir a su agenda.
Para eso solamente deberas crear un botón en el area del mensaje.
Esta entrada puede ser usada por cualquier usuario de Notes, no hace falta ser un experto, Lo único que debes modificar en el código es el texto que quieras que aparezca en la agenda y las fechas. En en el caso que necesites que la entrada se repita mas veces (o menos), necesitaras saber un poco (no mucho). Comento el código y pongo en negrita lo que tienes que cambiar.
Simplemente debes ir a "Create", "HotsPot", "Button" , dale el nombre que quieras al botón y pega el código inferior en el evento Click (LotusScripts). Si quieres ver el código pincha en "Continuar leyendo....".
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim backdoc As NotesDocument
Dim doc As NotesDocument
Dim SendTo As String
Dim sess_date, sess_time As String
Set db = session.CurrentDatabase
Dim startDateTime As NotesDateTime
Dim endDateTime As NotesDateTime
'El texto que mostará en la entrada de la agenda- - - - - - - - - - - - - - - - - - - -
eventTitle = "El viernes a las 20 o'clock tenemos partida de Mus"+Chr(10)+"Encontrarás el link con detalles en la Intranet , apartado Noticias"
eventText = ""
eventDes = " "
eventChair = " "
'las fechas y entradas que añadira a la agenda - - - - - - - - - - - - - - - - - - - -
Set international = session.International
If international.IsDateDMY Then
Set startDateTime1 New NotesDateTime( "23/07/2008 8:00 AM" )
Set endDateTime1 = New NotesDateTime( "23/07/2008 8:00 AM" )
Set startDateTime2 New NotesDateTime( "24/07/2008 8:00 AM" )
Set endDateTime2 = New NotesDateTime( "24/07/2008 8:00 AM" )
Set startDateTime3 New NotesDateTime("25/07/2008 8:00 AM" )
Set endDateTime3 = New NotesDateTime( "25/07/2008 8:00 AM" )
Set startDateTime4 New NotesDateTime( "28/07/2008 8:00 AM" )
Set endDateTime4 = New NotesDateTime( "28/07/2008 8:00 AM" )
Set startDateTime5 New NotesDateTime( "29/07/2008 8:00 AM" )
Set endDateTime5 = New NotesDateTime( "29/07/2008 8:00 AM" )
Set startDateTime6 New NotesDateTime( "30/07/2008 8:00 AM" )
Set endDateTime6 = New NotesDateTime( "30/07/2008 8:00 AM" )
End If
Dim dateTime As New NotesDateTime( "" )
Dim dst As Integer
Dim zone As Integer
Call dateTime.SetNow
dst = dateTime.IsDST
zone = dateTime.TimeZone
Call startDateTime1.ConvertToZone(zone, dst)
Call endDateTime1.ConvertToZone(zone, dst)
Call startDateTime2.ConvertToZone(zone, dst)
Call endDateTime2.ConvertToZone(zone, dst)
Call startDateTime3.ConvertToZone(zone, dst)
Call endDateTime3.ConvertToZone(zone, dst)
Call startDateTime4.ConvertToZone(zone, dst)
Call endDateTime4.ConvertToZone(zone, dst)
Call startDateTime5.ConvertToZone(zone, dst)
Call endDateTime5.ConvertToZone(zone, dst)
Call startDateTime6.ConvertToZone(zone, dst)
Call endDateTime6.ConvertToZone(zone, dst)
Print "Añadiendo entradas a la agenda... "
Dim Inter As NotesInternational
Dim entry As NotesDocument
Dim itemA As NotesItem
Dim MailDB As NotesDatabase
Set MailDB = session.CurrentDatabase
Dim ProfileDoc As NotesDocument
Dim Alarms As Variant
Set ProfileDoc = MailDB.GetProfileDocument("CalendarProfile")
If ProfileDoc.EnableAlarms(0) = "1" Then
Alarms = True
Else
Alarms = False
End If
For i=1 To 10
Set entry = New notesDocument(MailDB)
entry.Form = "Appointment"
entry.AppointmentType = "4"
entry.ExcludeFromView = "D"
entry.Subject = eventTitle + eventText
entry.Body=eventDes
entry.CHAIR = eventChair
entry.Location= " "
If i=1 Then
entry.CalendarDateTime = startDateTime1.LSLocaltime
entry.StartDate = startDateTime1.LSLocaltime
entry.StartDateTime = startDateTime1.LSLocaltime
entry.EndDate = endDateTime1.LSLocaltime
entry.EndDateTime = endDateTime1.LSLocaltime
Elseif i=2 Then
entry.CalendarDateTime = startDateTime2.LSLocaltime
entry.StartDate = startDateTime2.LSLocaltime
entry.StartDateTime = startDateTime2.LSLocaltime
entry.EndDate = endDateTime2.LSLocaltime
entry.EndDateTime = endDateTime2.LSLocaltime
Elseif i=3 Then
entry.CalendarDateTime = startDateTime3.LSLocaltime
entry.StartDate = startDateTime3.LSLocaltime
entry.StartDateTime = startDateTime3.LSLocaltime
entry.EndDate = endDateTime3.LSLocaltime
entry.EndDateTime = endDateTime3.LSLocaltime
Elseif i=4 Then
entry.CalendarDateTime = startDateTime4.LSLocaltime
entry.StartDate = startDateTime4.LSLocaltime
entry.StartDateTime = startDateTime4.LSLocaltime
entry.EndDate = endDateTime4.LSLocaltime
entry.EndDateTime = endDateTime4.LSLocaltime
Elseif i=5 Then
entry.CalendarDateTime = startDateTime5.LSLocaltime
entry.StartDate = startDateTime5.LSLocaltime
entry.StartDateTime = startDateTime5.LSLocaltime
entry.EndDate = endDateTime5.LSLocaltime
entry.EndDateTime = endDateTime5.LSLocaltime
Elseif i=6 Then
entry.CalendarDateTime = startDateTime6.LSLocaltime
entry.StartDate = startDateTime6.LSLocaltime
entry.StartDateTime = startDateTime6.LSLocaltime
entry.EndDate = endDateTime6.LSLocaltime
entry.EndDateTime = endDateTime6.LSLocaltime
End If
entry.~$BusyName = session.UserName
entry.~$PublicAccess = "1"
entry.Broadcast = "1"
If Alarms Then
entry.Alarms = "1"
Call entry.ReplaceItemValue("$Alarm", 1)
Call entry.ReplaceItemValue("$AlarmOffset", -1 * ProfileDoc.AppointmentLead(0))
Call entry.ReplaceItemValue("$AlarmDescription", eventTitle)
End If
Call entry.ReplaceItemValue("_ViewIcon",10)
Call entry.Save(True,True)
Next
Messagebox "Añadida entrada en tu agenda.",64,"Pa que no te se olvide"
End Sub
Martín, de lo hablado por teléfono, me equivocado. Cursiva, subrayado, negrita y párrafos también funcionan en la plantilla de blog 7.0.2. El tamaño y color tampoco funcionan en la 8.0.1 De todas maneras, estaría bien tener la plantilla de Raining en versión 8.0.1 La encuentro más adecuada para "novatos". Gracias, Albert.
La función que describes ¿es equivalente a Copiar en > Entrada de agenda? Por cierto, me gusta más el "sidebar" a la izquierda como ahora lo tienes. Gracias !!