以编程方式为莲花笔记创建约会

我需要创建一个约会(日历条目)并自动将其分发给某些被邀请者。

我现在有两个问题:

1)日历条目未出现在主席的日历上。 我已经解决了这个问题,将主席作为必要的与会者添加,并向他们发送确认通知,但我想知道如何自动添加。

2)被邀请者正在收到邀请,但他们无法确认。 Lotus抛出一个错误,说他们无法处理邀请,因为他们的邮件文件中不存在偶数。

我的代码在JAVA中,但如果需要,我可以移植到Lotusscript或Formula。 我只需要让它工作。

import java.util.GregorianCalendar; import lotus.domino.AgentBase; import lotus.domino.Database; import lotus.domino.Document; import lotus.domino.Session; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session s = getSession(); Database db = s.getDatabase("server", "maildatabase.nsf", false); String user = s.getUserName(); Document doc = db.createDocument(); doc.replaceItemValue("Form", "Appointment"); doc.replaceItemValue("AppointmentType", "3"); doc.replaceItemValue("$PublicAccess", "1"); doc.replaceItemValue("Subject", "New Meeting"); doc.replaceItemValue("CALENDARDATETIME", s.createDateTime(new GregorianCalendar(2012, 7, 24, 9, 0)).getLocalTime()); doc.replaceItemValue("Body", "an invitation"); doc.replaceItemValue("StartDate", s.createDateTime("08/24/2012").getLocalTime()); doc.replaceItemValue("EndDate", s.createDateTime("08/24/2012").getLocalTime()); doc.replaceItemValue("StartTime", s.createDateTime("09:00:00 AM").getLocalTime()); doc.replaceItemValue("EndTime", s.createDateTime("10:00:00 AM").getLocalTime()); doc.replaceItemValue("StartDateTime", s.createDateTime(new GregorianCalendar(2012, 7, 24, 9, 0))); doc.replaceItemValue("EndDateTime", s.createDateTime(new GregorianCalendar(2012, 7, 24, 10, 0))); doc.replaceItemValue("RequiredAttendees", "Invitee/company"); doc.appendItemValue("RequiredAttendees",user); doc.replaceItemValue("SendTo", "Invitee/company"); doc.appendItemValue("SendTo",user); doc.replaceItemValue("EnterSendTo", "Invitee/company"); doc.appendItemValue("EnterSendTo",user); doc.replaceItemValue("From", user); doc.replaceItemValue("Principal",user); doc.replaceItemValue("Chair", user); doc.replaceItemValue("Location", "location test"); doc.computeWithForm(true, false); doc.save(true,false,false); String sendTo = doc.getItemValueString("SendTo"); doc.send(false, sendTo); } catch(Exception e) { System.out.print(e.getMessage()); } } } 

任何帮助表示赞赏。 谢谢。

我认为有必要找出是否可以向所有与会者发送iCalendar文件。 网上有几个例子,这里有一些: – 通过c#向Lotus Notes 8.5客户发送预约邀请 – http://www.dominoguru.com/pages/icalendar_domino-outlook.html

我最终这样做了。 它强制用户设置日期并手动发送邀请,但它是我能得到的最接近的。 我无法使用iCal附件,因为我需要每个人都参与同一事件以重新安排目的。

  @Command([Compose];"" : "mailfile.nsf";"Calendar Entry"); @PostedCommand([EditGotoField];"Subject"); @PostedCommand( [EditInsertText]; "Title" ); @PostedCommand([EditGotoField];"EnterSendTo"); @PostedCommand([EditInsertText]; "Bob Test"); @PostedCommand([EditGotoField];"Location"); @PostedCommand([EditInsertText]; "Location" ); @PostedCommand([EditGotoField];"StartTime"); @PostedCommand([EditInsertText]; @Text(@Time(9;0;0))); @PostedCommand([EditGotoField];"Body"); @PostedCommand([EditInsertText];@UpperCase("Set Start and End Dates to: " + @Text(@Adjust(BidDay;0;0;-1;0;0;0))));