LotusScript处理RTF域中特殊字符

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Option Public

%REM

『函数功能』替换富文本域Body中所有"/weboa/wboardzhinfo.nsf/"字符串为"/2014/2014wboardzhinfo.nsf/"

strSource 将要被处理的字符串

strFrom 查找的目标子字符串

strTo 查找对象将被替换成这个子字符串

%END REM

Sub Initialize

On Error GoTo E

Dim s As New NotesSession

Dim db As NotesDatabase

Dim view As NotesView

Dim dc As NotesDocumentCollection

Dim doc As NotesDocument

Dim item As NotesItem

Dim strTmp, strResult As String

Dim strSource As String'将要被处理的字符串

Dim strFrom As String'查找的目标子字符串

Dim strTo As String'查找对象将被替换成这个子字符串

Dim i, iCount, iBase As Double

Dim tmp As Variant

Set db = s.Currentdatabase

Set view = db.Getview("vwAllDoc")

Set doc = view.GetFirstDocument

iBase = 1000

strFrom="weboa/wboardzhinfo.nsf"

'strTo="/2014/2014wboardzhinfo.nsf/"

strTo=Replace(db.Filepath, "\", "/")

On Error Resume next

While Not(doc Is Nothing) '处理域中特殊字符

strResult = ""

Set item=doc.GetFirstItem("Body")

strSource = item.Text

iCount = Len(strSource)

For i=0To CInt(iCount/iBase)+1

strTmp = ""

If (iBase*i+1

If (iBase*i+iBase>iCount) Then

strTmp = Mid(strSource,iBase*i+1, iCount-iBase*i)

Else

strTmp = Mid(strSource,iBase*i+1, iBase)

End If

tmp = Evaluate(|@replacesubstring('|+strTmp+|';@NewLine;'')|)

strResult =strResult + tmp(0)

End If

Next

If (strResult<>"") Then

doc.Body=Replace(strResult,strFrom,strTo) '替换域中字符串

Call doc.Save(1, 1)

End If

MsgBox"aaaaaaaaaaa:" & CStr(doc.Universalid)

Set doc = view.GetNextDocument(doc)

Wend

Exit sub

E:

str1="agUpdateBodyForMIGSrc代理发生错误:第"+Cstr(Erl)+"行"+Error MsgBox str1

End Sub

Sub Terminate

End Sub

相关文档
最新文档