代理里操作表单域的value是最常见的,这里简单介绍一下表单中的域。
文本域 | 用的最多,存放单行文本内容 |
读者域 | 读者域可控制表单可见权限,多个人用英文逗号分隔 |
作者域 | 一般应用于存放表单创建者的名字 |
RTF文本 | 同文本域一样,存放文本内容,不过它是多行文本,可存放的内容最多 |
多值域 | 这个比较特殊,一般配合读者域来分配权限 |
其它 | 列表框、复选框、单选按钮等可以生成对应的 HTML 表单标签 |
代理中获取域值:
获取普通域值,即 cdoc.title(0) 。这里的(0)是指域中第一个值,因为域值是以数组形式存储的。
获取多行文本域值,Set item = doc.GetFirstItem("RTFText") Msgbox item.Text 。多行文本需要用NotesItem存储,通过Text属性获取域值。
获取多值域域值,取多值域的值需要遍历获取。
Samples:
Sub Initialize On Error Goto errormsg Dim session As New notessession Dim cdoc As notesdocument Dim db As notesdatabase Dim doc As notesdocument Dim view As notesview Dim dc As NotesViewEntryCollection Dim HtmlText As String Dim docE As NotesViewEntry Dim item As NotesItem Set db=session.currentdatabase Set cdoc=session.documentcontext Set view=db.getview("viewType") '(1)获取当前表单中TypeNum 域值 Set dc=view.GetAllEntriesByKey(cdoc.TypeNum(0),True) Set docE=dc.GetFirstEntry() Do While Not docE Is Nothing Set doc=docE.Document '(2)输出 表单中 TypeNum 域值 Msgbox "分类编号:"+doc.TypeNum(0) '(3)输出 表单中 RTF 域值 Set item = doc.GetFirstItem("RTFText") Msgbox item.Text Set docE=dc.GetNextEntry(docE) Loop '(4) 给当前 表单的计算域 赋值。(提示,计算域需要标记为 HTML 格式) cdoc.HtmlText=HtmlText Exit Sub errormsg: Msgbox "Samples Error:" & Str(Erl) & " " & Error End Sub