LOTUSSCRIPT/COM/OLE CLASSES
Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim dc As NotesDocumentCollection Dim doc As NotesDocument Dim body As NotesRichTextItem Dim rtnavBody As NotesRichTextNavigator Dim rtnavTable As NotesRichTextNavigator Dim rtnavCell As NotesRichTextNavigator Dim rtrangeTable As NotesRichTextRange Dim rtrangeCell As NotesRichTextRange Dim rtrangePara As NotesRichTextRange Dim counter As Integer Dim msg As String Dim rtnavFlag As Boolean Set db = session.CurrentDatabase Set dc = db.UnprocessedDocuments Set doc = dc.GetFirstDocument Set body = doc.GetFirstItem("Body") REM Get first table in Body item REM Set range and navigator for it Set rtnavBody = body.CreateNavigator If Not rtnavBody.FindFirstElement(RTELEM_TYPE_TABLE) Then Messagebox "Body item does not contain a table,",, _ "Error" Exit Sub End If Set rtrangeTable = body.CreateRange Call rtrangeTable.SetBegin(rtnavBody) Call rtrangeTable.SetEnd(rtnavBody) Set rtnavTable = rtrangeTable.Navigator REM Get each cell in table REM Set range and navigator for it Set rtrangeCell = body.CreateRange Set rtrangePara = body.CreateRange Call rtnavTable.FindFirstElement(RTELEM_TYPE_TABLECELL) Do Call rtrangeCell.SetBegin(rtnavTable) Call rtrangeCell.SetEnd(rtnavTable) Set rtnavCell = rtrangeCell.Navigator msg = "" counter = counter + 1 REM Get each paragraph in cell REM Set range and its paragraph text rtnavFlag = rtnavCell.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) If rtnavFlag Then Do Call rtrangePara.SetBegin(rtnavCell) Call rtrangePara.SetEnd(rtnavCell) msg = msg & rtrangePara.TextParagraph & Chr(13) Loop While rtnavCell.FindNextElement(RTELEM_TYPE_TEXTPARAGRAPH) Else msg = "<No text paragraph in cell>" End If Messagebox msg,, "Cell " & counter Loop While rtnavTable.FindNextElement(RTELEM_TYPE_TABLECELL) End Sub