Lotus Notes常用LotusScript代码 示例: 1.检测当前用户是不是文档的创建者,如果不是,不允许编辑文档。 Sub Querymodechange(Source As Notesuidocument, Continue As Variant) Dim session As New NotesSession Dim doc As notesdocument Dim userName As New NotesName(session.UserName) Set doc=source.document If Not ( source.EditMode ) Then If ( doc.authors(0) = username.CANONICAL ) Then continue=True Else Msgbox \"您不是此文档的创建人,不可以修改!\",0,\"文档数据库\" continue=False End If End If End Sub Lotus Notes是一款功能强大的协同办公软件,它包含了电子邮件、日历、任务管理、文档协作等多种功能。在开发和自定义Lotus Notes应用时,经常会用到编程语言LotusScript。以下是一些 Lotus Notes 常用的LotusScript代码示例及其详解: 1. **检测当前用户是否为文档创建者**: 这段代码用于在用户尝试编辑文档时检查他们是否为原始创建者。`QueryModeChange`事件触发时,如果用户不是文档的第一个作者(即创建者),则不允许编辑。这确保了文档的安全性和完整性。 ```lotusscript Sub Querymodechange(Source As Notesuidocument, Continue As Variant) Dim session As New NotesSession Dim doc As notesdocument Dim userName As New NotesName(session.UserName) Set doc = Source.Document If Not (Source.EditMode) Then If (doc.Authors(0) = userName.CANONICAL) Then Continue = True Else MsgBox "您不是此文档的创建人,不可以修改!", 0, "文档数据库" Continue = False End If End If End Sub ``` 2. **验证表单字段**: 这段代码在用户点击按钮时检查"姓名"字段是否为空,如果为空则显示警告并退出子程序,防止保存无效数据。 ```lotusscript Sub Click(Source As Button) Dim w As New NotesUIWorkspace Dim uidoc As notesuidocument Dim doc As notesdocument Set uidoc = w.CurrentDocument name1 = uidoc.FieldGetText("name") If name1 = "" Then MsgBox "姓名不能为空!", 0, "通讯录" Exit Sub End If Call uidoc.Save Call uidoc.Close End Sub ``` 3. **创建私有视图**: 视图公式`SELECT Form = "收文 1" & NextApprover=@Name([CN];@V3UserName)`创建了一个私有视图,仅显示当前用户需要处理的文档。`NextApprover`域应包含指向当前用户的关键值。 4. **使用OLE或ActiveX控件**: 当在文档中添加OLE或ActiveX控件时,可以通过`GetObject`方法获取控件对象,然后调用其属性和方法。 ```lotusscript Sub Postopen(Source As Notesuidocument) Dim w As notesuiworkspace Dim uidoc As notesuidocument Dim aa As Variant Set w = New notesuiworkspace Set uidoc = w.CurrentDocument Set aa = uidoc.GetObject("Chart") '替换"Chart"为实际对象名称 '现在可以使用aa对象调用方法和属性 End Sub ``` 5. **错误处理**: 使用`On Error`语句设置错误陷阱,当发生错误时,将执行错误处理代码。 ```lotusscript Sub subname On Error GoTo Errcode '... 程序代码 ... Exit Sub Errcode: MsgBox "错误 (" & Cstr(Err) & ") -> " & Error$(Err), 16, "错误提示" Exit Sub End Sub ``` 6. **保存选项**: 在表单中,通过`saveoption`域控制文件退出时是否保存。设置`saveoptions`域的值为`"1"`表示保存,`"0"`表示不保存。 7. **公式对话框**: 使用`@DialogBox`公式在视图或表单中弹出对话框,用户点击确定后继续,取消则返回。 8. **脚本对话框**: 通过LotusScript的`DialogBox`方法弹出对话框,用户确认后继续,取消则关闭文档。 9. **视图中删除文档**: 使用`@Command([EditClear]); @Command([ViewRefreshFields])`组合命令,可以删除选定的文档并刷新视图。 10. **判断是否为周末**: 这段代码检查当前日期是否为周末,并根据结果调整日期。如果是周六,则将日期向前调整到周一。 以上代码示例展示了Lotus Notes开发中常见的操作,包括用户权限控制、数据验证、视图定制、错误处理、用户界面交互等。理解并熟练运用这些代码片段,有助于提高Lotus Notes应用的开发效率和用户体验。
剩余10页未读,继续阅读
- 粉丝: 5
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助