NotesCalendar (JavaScript)

Domino® カレンダーを表します。

使用法

このオブジェクトを使用して、Domino メールアプリケーション内のカレンダーとスケジュールサービスに標準 iCalendar 形式でアクセスすることができます。 この形式については、「Internet Calendaring and Scheduling Core Object Specification (iCalendar)」(http://tools.ietf.org/html/rfc5545) を参照してください。

NotesCalendar オブジェクトを作成するには、NotesSession で getCalendar を呼び出します。

カレンダーエントリには NotesDocument オブジェクトとしてアクセスできますが、 このインターフェースの使用は控えめにしてください。標準の Domino メールアプリケーションでは、($Calendar) ビューを通じてカレンダー文書にアクセスできます。コードの例については、getEntryByNoteID または getEntryByUNID を参照してください。カレンダー文書には、NotesCalendarEntrygetAsDocumentNotesCalendarNoticegetAsDocument で直接アクセスすることができます。カレンダー文書の詳細については、http://www-01.ibm.com/support/docview.wss?uid=swg21229486を参照してください。

このボタンイベントにより、現在のユーザーについて、今日と明日のカレンダー情報とスケジュール情報が取得されます。
// Get calendar for current user
var dbdir:NotesDbDirectory = session.getDbDirectory("");
var maildb:NotesDatabase = dbdir.openMailDatabase();
var cal:NotesCalendar = session.getCalendar(maildb);
var dt1:NotesDateTime = session.createDateTime("Today 08");
var dt2:NotesDateTime = session.createDateTime("Tomorrow 17");
// Read range and set to requestScope variable bound to multiline text box
requestScope.status = cal.readRange(dt1, dt2);
これはサンプル出力です。
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
BEGIN:VEVENT
DTSTART:20120403T183000Z
DTEND:20120403T190000Z
TRANSP:OPAQUE
RECURRENCE-ID:20120403T183000Z
DTSTAMP:20120403T141313Z
SEQUENCE:3
X-LOTUS-ORGANIZER:CN=Robert F Harwood/OU=Westford/O=IBM
CLASS:PUBLIC
SUMMARY:Domino Designer ID Team meeting
UID:F0A3694E4E7E20938525790F004D370A-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
END:VEVENT
BEGIN:VEVENT
DTSTART:20120403T190000Z
DTEND:20120403T200000Z
TRANSP:OPAQUE
DTSTAMP:20120403T141313Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Craig Lordan/OU=Westford/O=IBM
X-LOTUS-ROOM:B2-B2104/LKG2/550 King St/MA-Littleton@IBMUS
CLASS:PUBLIC
SUMMARY:Translation packaging enablement session by Bruce Webster
LOCATION:USA: 888-555-5555 | passcode: 5555555
UID:C4FC689987507AC2852579CF00720024-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
X-LOTUS-ONLINEMEETING-URL:http://www.webdialogs.com/
X-LOTUS-ONLINEMEETING-CONFID:w555
END:VEVENT
BEGIN:VEVENT
DTSTART:20120404T124500Z
DTEND:20120404T131500Z
TRANSP:OPAQUE
RECURRENCE-ID:20120404T124500Z
DTSTAMP:20120403T141313Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Maire Kehoe/OU=Ireland/O=IBM
X-LOTUS-ROOM:G07 - Meeting Room/Campus Building 6@IBMIE
CLASS:PUBLIC
SUMMARY:XPages scrum
LOCATION:Location: ¥nIRELAND Toll-Free
 :  1-800-555-555¥nIRELAND Caller Paid
 :  0-1-5555555¥nUSA Caller Paid 555-555-5555¥nUSA Toll-Free 888-555-55
 55¥nUnited Kingdom Caller Paid 0-55-55555555¥nUnited Kingdom Toll-Free
  0800-555-5555¥nParticipant Code:  5555555¥nFor other Countries
 : ¥nhttps
 ://www.teleconference.att.com/servlet/glbAccess?process=1&accessCode=5
 555555&accessNumber=015555555
UID:26CBC9B27E8660C1802579B3003DF9C0-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
END:VEVENT
END:VCALENDAR

LotusScript® 例

このエージェントにより、現在のユーザーについて、今日と明日のカレンダー情報とスケジュール情報が取得されます。
Sub Initialize
	Dim session As New NotesSession
	Dim maildb As New NotesDatabase("", "")
	Dim cal As NotesCalendar
	Dim dt1 As NotesDateTime
	Dim dt2 As notesdatetime
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim body As NotesRichTextItem
	REM Get calendar for current user
	Call maildb.Openmail()
	Set cal = session.getCalendar(maildb) ' Not In ref pane
	Set dt1 = session.createdatetime("Today 08")
	Set dt2 = session.Createdatetime("Tomorrow 17")
	Set db = session.CurrentDatabase
	REM Create document to post results
	Set doc = db.CreateDocument
	doc.Form = "main"
	doc.Subject = "Today 08"
	Set body = doc.Createrichtextitem("body")
	REM Read range and put in body of document
	Call body.Appendtext(cal.ReadRange(dt1, dt2))
	Call doc.Save( True, True )
End Sub

Java™ 例

このエージェントにより、現在のユーザーについて、今日と明日のカレンダー情報とスケジュール情報が取得されます。
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          // Get calendar for current user
          DbDirectory dbdir = session.getDbDirectory("");
          Database maildb = dbdir.openMailDatabase();
          NotesCalendar cal = session.getCalendar(maildb);
          DateTime dt1 = session.createDateTime("Today 08");
          DateTime dt2 = session.createDateTime("Tomorrow 17");
          // Create document to post results
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "Today 08");
          RichTextItem body = doc.createRichTextItem("body");
          // Read range and put in body of document
          body.appendText(cal.readRange(dt1, dt2));
          doc.save(true, true);
          NotesCalendarNotice caln = cal.getNoticeByUNID("");

      } catch(Exception e) {
          e.printStackTrace();
       }
   }
}