Hallo,
ich verwende die Funktionen der Mailschablone in stark abgespeckter Form seit einigen jahren in einer eigenen Anwendung um Wiederholungstermine berechnen zu lassen. Die Nutzung der Terminliste ist dann aber von mir.
Bisher habe ich keine Nebenwirkungen feststellen können, außer das man eine Maske mit dem Alias "CalendarProfile" haben muss - Profile sollte man in eigenen Datenbank ja sowieso anders bezeichnen, so dass dies kein Problem ist.
Scriptbibliotheken aus der Mail-Db habe ich keine übernommen - der Code zum Aufrufen des Dialoges ist recht übersichtlich:
Sub StartRepeatDialog(uidoc As NotesUIDocument)
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim dialogdoc As NotesDocument
Dim Felder List As String
Dim vres As Variant
uidoc.AutoReload = False
Set doc = uidoc.Document
Set dialogdoc = doc.ParentDatabase.CreateDocument
dialogdoc.Form = "RepeatForm"
' Felder("Feldname in Dialogbox") = "Feldname aktuelles Dokument"
Felder("StartDate") = "Datex"
Felder("StartTime") = "StartTime"
Felder("EndDate") = "Datex"
Felder("EndTime") = "EndTime"
Felder("StartDateTime") = "StartDateTime"
Felder("EndDateTime") = "EndDateTime"
Felder("StartTimeZone") = "StartTimeZone"
Felder("EndTimeZone") = "EndTimeZone"
' fest definierte Wiederholungsfelder ==> nicht ändern !
Felder("RepeatDates") = "RepeatDates" ' Rückgabeliste der wiederholenden Datumswerte
Felder("RepeatAdjust") = "RepeatAdjust"
Felder("RepeatCustom") = "RepeatCustom"
Felder("RepeatDates") = "RepeatDates"
Felder("RepeatFor") = "RepeatFor"
Felder("RepeatForUnit") = "RepeatForUnit"
Felder("tmpRepeatUnit") = "RepeatUnit"
Felder("RepeatFromEnd") = "RepeatFromEnd"
Felder("RepeatHow") = "RepeatHow"
Felder("RepeatInterval") = "RepeatInterval"
Felder("RepeatStartDate") = "RepeatStartDate"
Felder("RepeatUnit") = "RepeatUnit"
Felder("RepeatUntil") = "RepeatUntil"
Felder("RepeatWeekends") = "RepeatWeekends"
Forall x In Felder
If doc.HasItem( x ) Then
Call dialogdoc.ReplaceItemValue( Listtag( x ), doc.GetItemValue( x ))
End If
End Forall
If ws.DialogBox("(RepeatForm)",True,True,False,False,False,False,"Wiederholen", dialogdoc ,True,False,True) Then
Forall x In Felder
If dialogdoc.HasItem( Listtag( x )) Then
Call doc.ReplaceItemValue( x , dialogdoc.GetItemValue( Listtag( x )))
End If
End Forall
End If
End Sub
Des weiteren benötigt man noch eine angepasste Version der Teilmaske "(RepeatForm)" - die habe ich mal im Netz gefunden und könnte Sie ggf. auch bereitstellen, wenn das Original nicht mehr aufzufinden sein sollte.
Gruß
André