JAVA/CORBA クラス


例:Navigator プロパティ
次のエージェントは、現在の文書の最初の表にある、すべてのセル内のすべての段落を取得します。表と表の各セルに対してナビゲータを設定することにより、要素内で実行されます。

import lotus.domino.*;

public class JavaAgent extends AgentBase {

public void NotesMain() {

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

// (Your code goes here)
DocumentCollection dc = agentContext.getUnprocessedDocuments();
Document doc = dc.getFirstDocument();
RichTextItem body = (RichTextItem)doc.getFirstItem("Body");
RichTextNavigator rtnav = body.createNavigator();
if (rtnav.findFirstElement(RichTextItem.RTELEM_TYPE_TABLE)) {
// Set up range and navigator for table
RichTextRange rtrange = body.createRange();
rtrange.setBegin(rtnav);
rtrange.setEnd(rtnav);
RichTextNavigator rtnav2 = rtrange.getNavigator();
// Find cells in table
RichTextRange rtrange2 = body.createRange();
RichTextRange rtrange3 = body.createRange();
int counter = 0;
rtnav2.findFirstElement(RichTextItem.RTELEM_TYPE_TABLECELL);
do {
counter++;
System.out.println("Cell " + counter);
// Set up range and navigator for cell
rtrange2.setBegin(rtnav2);
rtrange2.setEnd(rtnav2);
RichTextNavigator rtnav3 = rtrange2.getNavigator();
// Find paragraphs in cell
if (rtnav3.findFirstElement(
RichTextItem.RTELEM_TYPE_TEXTPARAGRAPH)) {
do {
rtrange3.setBegin(rtnav3);
rtrange3.setEnd(rtnav3);
System.out.println(rtrange3.getTextParagraph());
} while (rtnav3.findNextElement());
}
else System.out.println("\tNo text in cell.");
} while (rtnav2.findNextElement());
}
else
System.out.println("Body does not contain any tables");

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

関連項目