moeller67
Goto Top

Mit Access VBA einen Termin in LotusNotes (8.5.2) setzen

Ich habe bisher ohne Problem mit der unten stehenden Funktion
aus Access heraus einen Termin (oder Erinnerung) in meinen LotusNotes Kalender
setzen können. Nach irgendeinem Notes-Update scheint es nicht mehr sauber zu
funktionieren. Er setzt 1. immer als Besprechung, egal was für einen Typ ich übergebe
und 2. immer nur auf das aktuelle Datum, nicht auf das übergebende Datum.
Weiß einer woran das liegt und was ich tun kann????
Jetzt habe ich den LotusNotes 8.5.2 Client.

Hier die bisherige Funktion:

Public Sub SendNotesAppointment(UserName As String, Subject As String, _
Body As String, AppDate As Date, StartTime As Date, MinsDuration As Integer, _
Location As String, Categories As String, AppointmentType As String, ServerName As String)
On Error GoTo ende
Dim MailDbName As String
Dim strSTime As String
Dim strETime As String
Dim CalenDoc As Object
Dim WorkSpace As Object
Dim ErrCnt As Integer
Dim Session As Object

Set WorkSpace = CreateObject("Notes.NOTESUIWORKSPACE")

MailDbName = ""

strSTime = CStr(FormatDateTime(StartTime, vbShortTime))
strETime = CStr(FormatDateTime(DateAdd("n", MinsDuration, StartTime), vbShortTime))

Set CalenDoc = WorkSpace.COMPOSEDOCUMENT(ServerName, MailDbName, "Appointment")

CalenDoc.FIELDSETTEXT "AppointmentType", AppointmentType
CalenDoc.Refresh


Do Until (CDate(Right(CalenDoc.fieldgettext("StartDate"), 10)) = CDate(AppDate)) Or ErrCnt = 1000
CalenDoc.FIELDSETTEXT "StartDate", CStr(FormatDateTime(AppDate, vbShortDate))
CalenDoc.Refresh
ErrCnt = ErrCnt + 1
Loop
ErrCnt = 0
Do Until (CDate(CalenDoc.fieldgettext("StartTime")) = CDate(strSTime)) Or ErrCnt = 1000
CalenDoc.FIELDSETTEXT "StartTime", strSTime
CalenDoc.Refresh
ErrCnt = ErrCnt + 1
Loop
ErrCnt = 0
Do Until (CDate(Right(CalenDoc.fieldgettext("EndDate"), 10)) = CDate(AppDate)) Or ErrCnt = 1000
CalenDoc.FIELDSETTEXT "EndDate", CStr(FormatDateTime(AppDate, vbShortDate))
CalenDoc.Refresh
ErrCnt = ErrCnt + 1
Loop
ErrCnt = 0
Do Until (CDate(CalenDoc.fieldgettext("EndTime")) = CDate(strETime)) Or ErrCnt = 1000
CalenDoc.FIELDSETTEXT "EndTime", strETime
CalenDoc.Refresh
ErrCnt = ErrCnt + 1
Loop
CalenDoc.FIELDSETTEXT "Subject", Subject
CalenDoc.FIELDSETTEXT "Location", Location
CalenDoc.FIELDSETTEXT "Categories", Categories
CalenDoc.FIELDSETTEXT "Body", Body

CalenDoc.Refresh
CalenDoc.Save
CalenDoc.Close


Set CalenDoc = Nothing
Set WorkSpace = Nothing


ende:
End Sub

Content-Key: 159486

Url: https://administrator.de/contentid/159486

Printed on: April 23, 2024 at 16:04 o'clock

Member: schweppes
schweppes Dec 30, 2011 at 08:03:50 (UTC)
Goto Top
Hallo,
habe das gleiche Problem.
Dass Datum und die Zeit wird zuerst richtig übergeben, aber beim Automatisch speichern schreibt es dass aktuelle Datum rein...
Wenn man speichern ausklammert und dann "Speichern und Einladung senden" macht, funktionert es korrekt.
Auch wenn man den Code anhält und dann den Typ auf Jahrestag setzt geht es...
Kann jemand sagen wie man den Typ richtig übergibt?

Vielen Dank
und ein gutes neues Jahr
winu