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币余额
我的收藏
我的下载
下载帮助


最新资源
- 滑坡区受损输电铁塔承载力分析与加固研究(2).docx
- 基于S-变换理论的变压器励磁涌流鉴别的研究开题报告.docx
- 基于超声振动与微量润滑耦合...制的钛合金铣削表面质量研究_戎杰.pdf
- 基于改进TD3算法的无人机轨迹规划_牟文心(1).pdf
- 基于关键断面分析的电网安全校核方法研究.docx
- 基于二维FDTD算法的甚低频电波传播特性分析_李毅.pdf
- 基于改进灰狼优化算法的储能双向变流器控制策略研究_冯良瑞(1).pdf
- 基于深度学习的花卉识别系统的设计与实现任务书.docx
- 基于模糊控制策略的高速列车防滑控制研究_苏超.pdf
- 基于优化EKF的PMSM无位置传感器矢量控制研究_崔鹏龙.pdf
- 履带车辆路径规划与轨迹跟踪控制方法研究_周琳.pdf
- Simulink光伏MPPT模型:遮荫条件下扰动观察法与粒子群优化结果对比,Simulink光伏MPPT模型的扰动观察法与粒子群算法对比研究 图解:模型构建、I-U与P-U曲线分析以及算法结果对比
- 灵活性资源聚合参考模型与量化指标体系.pdf
- 汽车AEB系统行人避撞策略的研究-中期报告(1).docx
- 区域能源互联网“站-网”布局优化研究.pdf
- 面向无线自组网的防窃听和抗干扰通信研究.pdf


