Kalendereinträge barbeiten

  • Hallo,


    habe anhand von folgendem Beitrag einen Agenten gebaut, der Einträge in dem Kalender des Users erstellt, der auf diesen Button klickt


    Code
    Sub Click(Source As Button)	Dim workspace As New NotesUIWorkspace	Dim session As New NotesSession	Dim db As NotesDatabase	Dim doc As NotesDocument	Dim uidoc As NotesUIDocument	Dim dateRange As NotesDateRange	Dim dauer As Integer	Dim tmpdate As String	Dim tmpdate2 As String	Dim datum_von As String	Dim datum_bis As String	Dim startDate As NotesDateTime	Dim endDate As NotesDateTime	Set db = session.CurrentDatabase	Set uidoc = workspace.CurrentDocument	Set doc = New NotesDocument( db )	doc.Form = "newEvent"	datum_von = uidoc.FieldGetText( "vonDatum" )	datum_bis = uidoc.FieldGetText( "bisDatum" )	dauer = uidoc.FieldGetText( "Dauer" )	Set startDate = New NotesDateTime (datum_von)	Set endDate = New NotesDateTime(datum_bis)	rc = Evaluate (|@MailDbName|)	Set db = session.GetDatabase(rc(0), rc(1))	Set doc = db.CreateDocument	doc.Form = "Appointment"	doc.Chair = session.UserName		doc.subject = uidoc.FieldGetText( "EventName")	doc.AppointmentType="2"	Set dateRange = session.CreateDateRange	tmpDate = datum_von + " 04:00:00"	Set ndt_datum_von = New NotesDateTime(tmpDate)	Set ndt_datum_bis = New NotesDateTime(datum_bis + " 23:59:59")	Dim ndt_CalendarDateTime As Variant	Redim ndt_CalendarDateTime(0)	ndt_CalendarDateTime(0) = ndt_datum_von.LSLocalTime	Call ndt_datum_von.AdjustDay(1)	i = 0	While ndt_datum_bis.TimeDifference(ndt_datum_von) > 0		Redim Preserve ndt_CalendarDateTime(Ubound(ndt_CalendarDateTime) + 1)		ndt_CalendarDateTime(Ubound(ndt_CalendarDateTime)) = ndt_datum_von.LSLocalTime		Call ndt_datum_von.AdjustDay(1)	Wend	doc.CalendarDateTime = ndt_CalendarDateTime	doc.CalendarDateTime = ndt_CalendarDateTime	Set dateRange.StartDateTime = startDate	Set dateRange.EndDateTime = endDate	Set doc.TimeRange = dateRange	doc.Duration = dauer	doc.SequenceNum = 1	doc.OrgTable = "P0"	Messagebox "Danke für die Anmeldung." ,, "Info"	Set doc.StartDateTime = New NotesDateTime (tmpDate)	Set doc.StartDate = New NotesDateTime (tmpDate)	Set doc.EndDateTime = New NotesDateTime (tmpDate2)	Call doc.ComputeWithForm(False,False)	Call doc.Save(True,False,True)	'Mail versenden	Set db2 = session.CurrentDatabase	Set doc2 = New NotesDocument( db )	Username=session.UserName		doc2.Form = "Memo"	doc2.SendTo = Username	doc2.Subject = "Bestätigung der Anmeldung für: " + uidoc.FieldGetText( "EventName")	Call doc2.Send( False )	Call uidoc.CloseEnd Sub


    Jetzt soll es aber noch eine Möglichkeit geben, dass sich diese Person auch wieder abmelden kann. Hierzu stand auch etwas in dem o. g. Beitrag, jedoch klappt das nicht wie es sollte. Es passiert einfach nichts.



    Desweitern habe ich festgestellt, dass wenn ich mich angemeldet habe und den Eintrag in meinem Kalender öffnen möchte, ich immer die Fehlermeldung bekomme "Feld: 'EndeDate_2': Array-Index außerhalb des gültigen Bereichs". Dieses Feld existiert aber nicht. In anderen Dokumenten existiert es auch nicht.


    Gibt es eine Möglichkeit, durch einen Doppelklick auch in der Event-DB zu landen und sich den Event nochmals anzuschauen?


    Wie sieht es aus mit dem Löschen des Termins, falls man sich wieder abmeldet?


    Hoffentlich kann mir jemand helfen, bin mit LS noch nicht so vertraut.


    mfg


    Michael