Lotus为多个日历条目注释了Button脚本

时间:2013-03-26 12:43:14

标签: lotus-notes lotus-domino lotus lotusscript lotus-formula

这是我的剧本。我想在这个脚本中有2个日期和时间,所以当有人点击按钮时,收件人日历中应该有两个条目

我真的很感激这个问题上的任何帮助。

Sub Click(Source As Button)

    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim subject As String
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem
    Set db = s.CurrentDatabase
    Set doc = New NotesDocument(s.CurrentDatabase)
    Set maildoc = New NotesDocument(s.CurrentDatabase)
    Set ritem = New NotesRichTextItem(maildoc, "Body")

'Modify Subject, Location, Start Day and Time, End Day and Time before sending!!
'#########################################################################

    doc.subject = "test"
    doc.location = "bangalore"
    Set startdatetime = New NotesDateTime("03/26/2013 04:00:00 PM")
    Set enddatetime = New NotesDateTime("03/24/2008 05:00:00 PM")

'#########################################################################


    doc.From = s.UserName
    doc.Form = "Appointment"
    doc.AppointmentType = "0"
    doc.Chair = s.UserName
    doc.StartDateTime = startdatetime.LSLocalTime
    doc.EndDateTime = enddatetime.LSLocalTime
    doc.CalendarDateTime = startdatetime.LSLocalTime
    doc.TimeRange = Timevalue(doc.startdatetime(0)) & "-" & Timevalue(doc.enddatetime(0))
    doc.ExcludefromView = "D"

    Call doc.ReplaceItemValue("_ViewIcon", 160)
    Call doc.AppendItemValue("$BusyName", s.UserName)
    Call doc.AppendItemValue("$BusyPriority", "1")
    Call doc.AppendItemValue("$PublicAccess", "1")
    Call doc.save(True,True)

    Print "An entry for this event was successfully added to your calendar and an e-mail confirmation was sent."
    Msgbox "Calendar successfully updated and e-mail confirmation sent.", 64, "Success"

'Send e-mail confirmation

    maildoc.Form = "Memo"

'Modify Subject and Send to
'############################################################################

    maildoc.Subject = "test to send multiple emails"
    Dim recip(2) As Variant
    recip(0) = ""
    recip(1) = ""

    maildoc.sendto = recip

'############################################################################

    Call maildoc.Send(False)

End Sub

2 个答案:

答案 0 :(得分:1)

IBM已发布Lotus Notes日历约会here的架构。如果你想创建一个重复约会两天,但是在每天的同一时间,那么从第12页开始。有很多选项,但我想你可能想设置Repeats =“1 “,RepeatUnit =”C“并将RepeatCustom =设置为具有两个日期的数组。

答案 1 :(得分:1)

IBM将已发布的Lotus Notes C& S架构文档移至here。上面找到的另一个链接是以前没有更新的版本。

除了添加ORGRepeat值为“1”之外,要使条目重复,您还需要有3个并行值列表:StartDateTime,EndDateTime和RepeatInstanceDates。最初,StartDateTime和RepeatInstanceDates项目将包含相同的值,因此您可以在创建后简单地使用该值。

CalendarDateTime项目还需要具有与上面列表相同数量的值,以便条目将在日历上的正确日期/时间显示。

脚本的一个潜在问题是它会使用用户时区。因此,如果任何用户在另一个时区并且他们点击它,则条目将被放置在错误的时间。您可以通过将3个字符的时区标识符放在值的末尾来修复此问题(例如“03/26/2013 04:00:00 PM EDT”)

您可能还想查看我找到的按钮脚本here,了解另一个如何操作的示例。