| Sub Initialize |
| 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 |
| 'Für Mail |
| Dim EventName_mail As String |
| Dim vonDatum_mail As String |
| Dim bisDatum_mail As String |
| Dim doc_mail As NotesDocument |
| 'Für Kalendereintrag |
| 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 |
| Dim rtitem As NotesRichTextItem |
| |
| 'Teilnehmer prüfen |
| teilnhemer = doc.GetItemValue( "Teilnehmer" ) |
| found = False |
| found = Arraygetindex(teilnehmer, session.UserName) |
| If found = True Then |
| Msgbox "Sie sind bereits angemeldet" |
| Else |
| |
| 'Teilnehmer hinzufügen |
| doc.Teilnehmer = doc.ArrayAppend("Teilnehmer", sesseion.UserName) |
| uidoc.Reload |
| |
| 'Teilnehmer neu berechnen |
| Dim total As Integer |
| total = 0 |
| MA = doc.GetItemValue( "Teilnehmer" ) |
| Forall m In MA |
| total = total + m |
| End Forall |
| Call doc.ReplaceItemValue( "Teilnehmer", total ) |
| |
| 'Deklarationen |
| Set db = session.CurrentDatabase |
| Set uidoc = workspace.CurrentDocument |
| Set doc = New NotesDocument( db ) |
| Set eventdoc = uidoc.Document |
| 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 |
| Set rtitem = doc.CreateRichTextItem("Body") |
| |
| 'setzt die Felder für den Kalendereintrag |
| doc.Form = "Appointment" |
| doc.Chair = session.UserName |
| doc.subject = uidoc.FieldGetText( "EventName") |
| doc.location = uidoc.FieldGetText("Ort") |
| Call rtitem.AppendText("Sehr geehrte/r ") |
| Call rtitem.AppendText(session.CommonUserName) |
| Call rtitem.AppendText(",") |
| Call rtitem.AddNewline(2) |
| Call rtitem.AppendText("mit folgender Verknüpfung können Sie die Daten dieses Seminares öffnen: ") |
| Call rtitem.AddTab(1) |
| Call rtitem.AppendDocLink(eventdoc, "Verknüpfung zum Seminar") |
| doc.AppointmentType="2" |
| Call Doc.ReplaceItemValue("_ViewIcon",26) |
| Call Doc.ReplaceItemValue("$Alarm",1) |
| Call Doc.ReplaceItemValue("$AlarmOffset",-1440) |
| Call Doc.ReplaceItemValue("$AlarmDescription",uidoc.FieldGetText( "EventName") + " - " + uidoc.FieldGetText( "Ort")) |
| 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" |
| |
| 'Weitere Felder für den Kalendereintrag |
| Set doc.StartDateTime = New NotesDateTime (tmpDate) |
| Set doc.StartDate = New NotesDateTime (tmpDate) |
| Set doc.StartDate_2 = New NotesDateTime (tmpDate) |
| Set doc.EndDateTime = New NotesDateTime (datum_bis + " 23:59:59") |
| Set doc.EndDate = New NotesDateTime (datum_bis + " 23:59:59") |
| Set doc.EndDate_2 = New NotesDateTime (datum_bis + " 23:59:59") |
| Set doc.tmpStartTime_local = New NotesDateTime (LSLocalTime) |
| |
| uidoc.EditMode = True |
| tmpTeilnehmer = uidoc.FieldGetText("Teilnehmer") |
| Call uidoc.FieldSetText ( "Teilnehmer", tmpTeilnehmer & Chr$ (10) & session.UserName ) |
| Messagebox "Danke für die Anmeldung. Sie werden in kürze eine Bestätigungsmail erhalten." ,, "Info" |
| |
| 'Dokument speichern |
| Call doc.ComputeWithForm(False,False) |
| Call doc.Save(True,False,True) |
| |
| 'Mail versenden |
| Set db_mail = session.CurrentDatabase |
| Set doc_mail = New NotesDocument( db ) |
| Set rtitem_mail = doc_mail.CreateRichTextItem("Body") |
| Username=session.UserName |
| EventName_mail = uidoc.FieldGetText( "EventName") |
| vonDatum_mail = uidoc.FieldGetText( "vonDatum") |
| bisDatum_mail = uidoc.FieldGetText( "bisDatum") |
| DocID_mail = uidoc.FieldGetText( "DocID") |
| |
| doc_mail.Form = "Memo" |
| doc_mail.From = "EventPlaner" |
| doc_mail.SendTo = Username |
| doc_mail.Subject = "Bestätigung der Anmeldung für: " + uidoc.FieldGetText( "EventName") |
| Call rtitem.AppendText("Sehr geehrte/r ") |
| Call rtitem.AppendText(session.CommonUserName) |
| Call rtitem.AppendText(",") |
| Call rtitem_mail.AddNewline(2) |
| Call rtitem_mail.AppendText("Sie haben sich für folgende Schulung angemeldet:") |
| Call rtitem_mail.AddNewline(2) |
| Call rtitem_mail.AppendText("Schulung: ") |
| Call rtitem_mail.AddTab(1) |
| Call rtitem_mail.AppendText(EventName_mail) |
| Call rtitem_mail.AddNewline(1) |
| Call rtitem_mail.AppendText("Datum: ") |
| Call rtitem_mail.AddTab(2) |
| Call rtitem_mail.AppendText(vonDatum_mail) |
| Call rtitem_mail.AppendText(" - ") |
| Call rtitem_mail.AppendText(bisDatum_mail) |
| Call rtitem_mail.AddNewline(2) |
| Call rtitem_mail.AppendText("Der Termin wurde automatisch in Ihren Kalender eingetragen. Für weiter Informationen über diese Schulung klicken Sie doppelt auf den Eintrag in Ihrem Kalender.") |
| Call doc_mail.Send( False ) |
| |
| Call uidoc.Close |
| End If |
| |
| End Sub |