用LOTUS開發C/S發麪的程序時,經常會有要求發送帶格式的郵件功能,而且郵件中的一些內容是動態的;最好的解決辦法是增加一個配置表單,把帶格式的郵件內容(如表格,背景色)等配置上,動態內容可以用########等符號代替,然後在發送郵件時把RTF域中的符號用實際的內容替換。
替換RTF域中特點符號的代碼如下:
Dim docTemplate As NotesDocument
Dim docNotice As NotesDocument
Dim ContentItem As NotesItem
Dim rtmBody As NotesRichTextItem, rtrange As NotesRichTextRange, rtstyle As NotesRichTextStyle, rtnav As NotesRichTextNavigator
Set ContentItem = docTemplate.GetFirstItem("Body")
If ( ContentItem.Type = RICHTEXT ) Then
Set rtmBody = New NotesRichTextItem(docNotice,"Body")
Call rtmBody.AppendRTItem(ContentItem)
Set rtrange = rtmBody.CreateRange
Set rtstyle = rtrange.Style
Call rtmBody.AppendStyle(rtstyle)
'***************************************
Set rtnav = rtmBody.CreateNavigator
If rtnav.FindFirstElement(RTELEM_TYPE_TEXTRUN) Then
Set rtrange = rtmBody.CreateRange
Call rtrange.SetBegin(rtnav)
text = rtrange.TextRun
While Instr(1,text,"######") = 0 And rtnav.FindNextElement(RTELEM_TYPE_TEXTRUN)
Call rtrange.SetBegin(rtnav)
text = rtrange.TextRun
Wend
End If
If Not (Instr(1,text,"######") = 0) Then
tempstr=searchdoc.CurAccount(0)
Call rtrange.FindandReplace("######",tempstr)
End If