Examples: Type property (NotesRichTextRange - LotusScript®)
This agent contains a subroutine DisplayRange that examines the type of a range that is passed as a parameter. If the range type indicates a text paragraph or text run, the subroutine displays the associated text.
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim body As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim elemType(1 To 8) As Long
Sub Initialize
Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
If dc.Count = 0 Then
Messagebox "No document selected",, "No doc"
Exit Sub
End If
Set doc = dc.GetFirstDocument
Set body = doc.GetFirstItem("Body")
Set rtnav = body.CreateNavigator
Dim rtrange As NotesRichTextRange
Set rtrange = body.CreateRange
elemType(1) = RTELEM_TYPE_DOCLINK
elemType(2) = RTELEM_TYPE_FILEATTACHMENT
elemType(3) = RTELEM_TYPE_OLE
elemType(4) = RTELEM_TYPE_SECTION
elemType(5) = RTELEM_TYPE_TABLE
elemType(6) = RTELEM_TYPE_TABLECELL
elemType(7) = RTELEM_TYPE_TEXTPARAGRAPH
elemType(8) = RTELEM_TYPE_TEXTRUN
For i = 1 To 8 Step 1
If rtnav.FindFirstElement(elemType(i)) Then
Do
Call rtrange.SetBegin(rtnav)
Call DisplayRange(rtrange)
Loop While rtnav.FindNextElement(elemType(i))
Else
Messagebox "No element of this type in Body",, _
"No " & GetTypeString(elemType(i))
End If
Next
End Sub
Sub DisplayRange(rtrange As NotesRichTextRange)
Select Case rtrange.Type
Case RTELEM_TYPE_TEXTPARAGRAPH
Messagebox rtrange.TextParagraph,, "Text paragraph"
Case RTELEM_TYPE_TEXTRUN
Messagebox rtrange.TextRun,, "Text run"
Case Else
Messagebox "< >",, GetTypeString(rtrange.Type)
End Select
End Sub
Function GetTypeString(elemType As Long) As String
Select Case elemType
Case RTELEM_TYPE_DOCLINK
GetTypeString = "Doc link"
Case RTELEM_TYPE_FILEATTACHMENT
GetTypeString = "File attachment"
Case RTELEM_TYPE_OLE
GetTypeString = "OLE object"
Case RTELEM_TYPE_SECTION
GetTypeString = "Section"
Case RTELEM_TYPE_TABLE
GetTypeString = "Table"
Case RTELEM_TYPE_TABLECELL
GetTypeString = "Table cell"
Case RTELEM_TYPE_TEXTPARAGRAPH
GetTypeString = "Text paragraph"
Case RTELEM_TYPE_TEXTRUN
GetTypeString = "Text run"
End Select
End Function