Aus dem Alltag eines IT'lers

Lotus Notes 8.5.x: Geburtstage aus Kontakten im Kalender anzeigen lassen

Tips & Tricks Hat man unter Lotus Notes 8.5.x in seinen Kontakten die Geburtstage gepflegt ("Andere Informationen/Geburtstag") und möchte, dass diese in den Kalender übernommen werden, hat man standardmäßig schlechte Karten, denn Notes macht das nicht.
In diesem Fall hilft nur das Anlegen und Ausführen eines Agenten, der dies für einen und für Notes selbst übernimmt.

1. Hierzu wechselt man zunächst in die Kontakte
2. Über das Menü wählt man: "Erstellen/Agent"
3. Unter "Starten" wählt man im Codefenster "LotusScript"
4. Nach Erstellung des Agenten, wechselt man in die Ansicht "Geburtstage und Jahrestage", wählt die gewünschten Einträge aus und startet über "Aktionen" den Agenten (steht im Dropdownmenü zuoberst)

Der Agent selbst besteht aus folgendem Code (Quelle: http://www.openntf.org/Projects/codebin/codebin.nsf/0/5259D081F2AC6E78C1256EF20045A86E):

QUOTE:

Sub Initialize
Dim db As notesdatabase
Dim s As New notessession
Set db = s.currentdatabase
Dim col As notesdocumentcollection
Dim doc As notesdocument
Dim caldoc As notesdocument
Dim geburtsdatum As Variant
Dim dates(9) As Variant
Dim i As Integer
Dim dummystr As String
Dim excludeFromView(1) As String
excludeFromView(0)="D"
excludeFromView(1)="S"
Dim subject As String
Dim searchcol As notesdocument


Dim erg As Variant
erg=Evaluate("@MailDbName")
Dim caldb As New NotesDatabase( "", "" )
Call caldb.Open( erg(0), erg(1) )
Set col = db.UnprocessedDocuments

Set doc = col.getfirstdocument

Do While Not doc Is Nothing

geburtsdatum = Cdat(doc.GetItemValue("birthday")(0))
dummystr= Cstr(Day(geburtsdatum))+"."+Cstr(Month(geburtsdatum))

subject="Geburtstag "+doc.Fullname(0)

Set caldoc = caldb.CreateDocument
With caldoc
.form = "Appointment"
.AltChair=s.UserName
.AppointmentType="1"
For i = Year(Now) To Year(Now)+9
dates(i-Year(Now)) = Cdat(dummystr+"."+Cstr(i))
Next
.CalendarDateTime=dates
.EndDateTime=dates
.ExcludeFromView=excludeFromView
.MeetingType="1"
.OrgTable="A0"
.RepeatInstanceDates=dates
.Repeats="1"
.SchedulerSwitcher="1"
.SequenceNum=1
.Startdatetime=dates
.txtNum="10"
.subject=subject
.body=Cstr(geburtsdatum)
Call .ComputewithForm(False,False)
Call .save(False,False)
End With
Set doc = col.GetNextDocument(doc)

Loop

End Sub

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
Was ergibt 17+4 ?

Submitted comments will be subject to moderation before being displayed.