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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机二级考试全面备考指南与学习心得
- 树木的信息数据集(德国罗斯托克地区树木的信息)
- Python爬虫基础知识与实践指南
- 连接ESP32手表来做验证20241223-140953.pcapng
- 有源电力滤波器,APF,有源电力滤波器仿真,电力电子仿真,无差拿控制,谐波补偿 提供参考文献
- 某平台广告投入分析与销售预测
- 国际象棋桌子检测6-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- 永磁同步电机参数辨识模型,在线辨识,离线辨识,电参数机械参数均可辨识,基于最小二乘法,滑模观测,电压注入,模型参考自适应等 机械参数在线 离线 ,电气参数在线 (三种方法,最小二乘和mras以及卡尔
- dbeaver-ce-24.3.1-x86-64-setup.exe
- 基于粒子群的ieee30节点优化、配电网有功-无功优化 软件:Matlab+Matpowre 介绍:对配电网中有功-无功协调优化调度展开研究,通过对光伏电源、储能装置、无功电源和变压器分接头等设备协调
- 基于ssm的高校教务管理系统设计与实现
- VirtualGL-2.6.5.x86-64.rpm
- 艾利和iriver Astell&Kern SP3000 V1.30升级固件
- turbovnc-2.2.6.x86-64.rpm
- Labview Modbus-Tcp和西门子全糸列pLC通讯所有数据类型均能读写,速度快,使用在多个项目上,运行稳定,可以扩展到其它品牌PLc,上位机程序一样,只是PLC程序稍微变动一下,上下位机源
- 国际象棋检测10-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar