Geburtstag aus einem Kontakt in den Kalender kopieren

  • Hallo,


    das folgende Problem wurde bereits vor einiger Zeit im Forum gepostet aber ich bin leider nicht weitergekommen, deshalb wärme ich das Thema nochmal auf:


    Hat jemand eine Möglichkeit gefunden, Geburtstage aus den persönlichen Kontakten als Erinnerung in den Kalender zu kopieren?


    Eine Erklärung in dem alten Post war, dass es mit Notes standardmäßig nicht geht aber evtl. mit einem Agenten.


    Danke für eure Hilfe.


    Stefan

  • Notes kann das bislang tatsächlich von Hause aus nicht. Andererseits ist es aber bei Vorliegen entsprechender Kenntnisse recht einfach möglich, das persönliche Adressbuch um diese Funktionalität zu erweitern. Dies sollte sinnhafter Weise im persönlichen Adressbuch erfolgen (eine Aktion, die prüft, ob ein derartiger Eintrag im persönlichen Mailfile, welches ja auch den Kalender beinhaltet, bereits existiert, und wenn nicht, diesen wiederkehrenden Eintrag erstellt).
    Was mich wundert, ist folgende Diskrepanz: Eine derartige Lösung ist mit relativ wenigen Zeilen LotusScript erstellt. Mir ist aber nicht bekannt, das eine derartige Lösung irgendwo frei herumgeistert (das will aber nix heissen). Anderseits würde ich sowas auch nicht programmieren, da ich (und damit meine ich meine eigene Situation) wichtige Geburtstage locker manuell verwalten kann.


    Ich denke, die Problemlösung hängt hier am monetären Wert der Aufgabenstellung :) Machbar ist es - wie gesagt - simpel, wenn man sich auskennt.


    Bernhard

  • Danke für die Info.


    Ich bin kein Entwickler, deshalb fällt das Selbst-Programmieren schonmal aus. ;) Die Info geb ich aber mal so weiter. Das muss dann woanders entschieden werden ob wir die Funktion irgendwo einkaufen.
    Wenn es so ist, melde ich mich dazu wieder.


    Das Argument war halt, dass im Adressbuch ja die Kontakte mit allen persönlichen Angaben (auch das Geburtsdatum) gespeichert sind. Daher wäre es ja sinnvoll, direkt aus dem Adressbuch den Geburtstag wiederholend in den Kalender zu übernehmen.


    Da es bei uns einige User gibt die sehr viele Kontakte angelegt haben, halten die es natürlich für sinnvoll dass sie die Geburtstage im Kalender nicht manuell anlegen müssten.


    Gruß


    Stefan

  • Hallo,


    ich habe den Tipp vom Klaus ausprobiert und will nur eine Rückmeldung geben, dass es funktioniert hat.


    Zusammen mit einem Kollegen der vom Programmieren ein bisschen Ahnung hat, habe ich den Agenten ein bisschen angepasst.
    Jetzt erscheint im Kalender ein Eintrag nach dem folgenden Muster: "42. Geburtstag von Max Mustermann".


    Wir haben nur noch nicht hinbekommen, dass das aktuelle Alter jedes Jahr hochgezählt wird. Daher müssen wir den Agenten im Januar starten damit das aktuelle Alter neu in den Kalender übernommen wird.


    Das ist der Agent:


    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=Cstr(Year(Now) -(Year(geburtsdatum)))+". Geburtstag von "+doc.Fullname(0)

    Set caldoc = caldb.CreateDocument
    With caldoc
    .form = "Appointment"
    .AltChair=s.UserName
    .AppointmentType="1"
    For i = Year(Now) To Year(Now)+1
    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



    Gruß


    Stefan