2

是否有文档或简单的解决方案如何在服务器代理上通过外部运行激活用户邮件文件中的外出服务?

我试过这样,但它不起作用......

    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim dt As New NotesDateTime(Now)

    Set db = s.Getdatabase("SERVERNAME", "MAILFILE")

    Set doc = db.Createdocument()

    doc.AppointmentType= "2"
    doc.BookFreeTime = ""
    doc.CreatedByAgent = "1"
    doc.ExcludeFromView = "D"
    doc.Form = "Appointment"
    doc.From = s.Username
    doc.Principal = s.Username
    Call doc.Replaceitemvalue("$BusyName","")
    Call doc.Replaceitemvalue("$BusyPriority","")
    Call doc.Replaceitemvalue("$PublicAccess","1")
    doc.ApptUNID = doc.Universalid

    Call dt.Adjustday(-5)
    set doc.EndDate = dt
    set doc.EndDateTime = dt
    call dt.Adjustday(10)
    set doc.StartDate = dt
    set doc.STARTDATETIME = dt
    doc.Subject = "Out Of Office"
    Call doc.Replaceitemvalue("$UpdatedBy",s.Username)
    Call doc.save(True,False)


    Set doc = db.Getprofiledocument("OutOfOfficeProfile")
    Call dt.Adjustday(-5)
    Set doc.FirstDayOut = dt
    Call dt.Adjustday(10)
    Set doc.FirstDayBack = dt
    doc.CurrentStatus = "1"
    doc.GeneralSubject = "HE IS NOT AVAILABLE"

    Call doc.save(True,false)
4

2 回答 2

1

更新(将答案从外出代理激活更改为外出服务激活):

OutOfOfficeLib在 Class中的 MailFile ScriptLibrary中OutOfOfficeObj查找方法EnableService()。您必须调整并放入代理中的代码。

使用代码行

Call db.SetOption( DBOPT_OUTOFOFFICEENABLED, True)

您激活外出服务。此外,您可能还需要进行一些其他设置。只需按照调用的方法,EnableService()找出真正需要的方法。

这是一个很好的描述如何激活以及如何处理Out of Office 服务的问题。用户外出服务状态的更改,例如,可能仅在向用户发送电子邮件后可见。

于 2013-06-19T17:19:24.453 回答
1

这就是它的工作方式。

Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim dt As New NotesDateTime(Now)

    Set db = s.Getdatabase("SERVER", "MAILFILE")    

    Set doc = db.Getprofiledocument("OutOfOfficeProfile")
    Call dt.Adjustday(-5)
    Set doc.FirstDayOut = dt
    Set doc.StartTime = dt
    Call dt.Adjustday(10)
    Set doc.FirstDayBack = dt
    Set doc.EndTime = dt
    doc.CurrentStatus = "1"
    doc.GeneralSubject = "MESSAGE"

    doc.TaskState = "1"
    doc.CurrentSate = "1"
    doc.ShowHours = ""

    Call doc.Computewithform(false, false)

    Call doc.save(True,false)

    Call db.SetOption( DBOPT_OUTOFOFFICEENABLED, True)
于 2013-06-20T09:50:15.060 回答