Domino/Lotus Notes常用代码
在Lotus Domino/Lotus Notes开发中,掌握常用代码是提高工作效率的关键。以下是一些重要的代码示例及其解释: 1. 检测当前用户是否为文档创建者: 这段代码用于确保只有文档的创建者才能进行编辑。如果当前用户不是文档的创建者,系统将不允许编辑并弹出警告消息。 ```vba 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. 退出时检查关键域不为空: 在用户点击退出按钮时,这段代码会检查"姓名"域是否为空。如果为空,系统会弹出警告并阻止用户退出,直到输入了姓名。 ```vba 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)`用于创建一个视图,只显示当前用户需要处理的“收文 1”表单的文档。避免“保存到本地”选项是为了方便调试。 4. 使用Active控件: 当文档包含OLE或ActiveX控件时,可以通过以下方式在脚本中操作这些对象: ```vba 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"是OLE对象的名称 '现在你可以通过aa.**调用其方法和属性 End Sub ``` 5. 错误处理: 使用`On Error`语句可以捕获并处理运行时错误。下面的代码会在发生错误时显示一个带有错误号和错误信息的消息框: ```vba Sub subname On Error GoTo Errcode '...添加你的程序代码 Exit Sub Errcode: MsgBox "错误 (" & Cstr(Err) & ") -> " & Error$(Err), 16, "错误提示" Exit Sub End Sub ``` 6. 决定是否保存文档: 在表单中设置一个名为"saveoption"的域,然后在返回按钮中添加以下公式以决定文件退出时是否保存: ```vba FIELD saveoptions:="1"; '保存 FIELD saveoptions:="0"; '不保存 ``` 7. 公式弹出对话框: 使用`@DialogBox`函数可以在表单中弹出对话框,用户点击确定后继续,取消则返回空值: ```vba @If(@DialogBox("表单名";[AutoHorzFit]:[AutoVertFit];"表单标题");"";@Return(" ")) ``` 8. 脚本弹出对话框: 使用`NotesUIworkspace.DialogBox`方法可以弹出对话框,如果用户点击取消,则关闭文档并退出: ```vba Dim w as notesuiworkspace If Not w.DialogBox("表单名", True, True, False, True, False, False, "填写") Then doc.Close '用户按取消退出 Exit Sub End If ``` 9. 视图中删除文档: `@Command([EditClear]); @Command([ViewRefreshFields])`组合命令用于删除选定的文档并刷新视图。 10. 检查是否为周末: 这段代码用于检测当前日期是否为周末,并根据结果调整日期: ```vba Dim dt As NotesDateTime Call dt.SetNow() If Weekday(dt.LsLocalTime) = 7 Then '如果是周六 dt.AdjustDay(2) '加两天到周一 Elseif Weekday(dt.LsLocalTime) = 1 Then '如果是周日 dt.AdjustDay(1) '加一天到周一 End If ``` 以上代码片段涵盖了Lotus Domino/Lotus Notes开发中的常见操作,包括权限控制、数据验证、对象交互、错误处理以及时间日期处理等,对于提升开发者技能非常有帮助。
剩余10页未读,继续阅读
- xyzyc2013-10-06还可以,但是需要已经了解notes才行
- gzaapy2015-08-10对刚入们者帮助还是不错!
- colanse2015-03-21还可以,但是需要已经了解notes才行
- c001014842013-08-13非常有参考价值,当看不懂文档的时候
- a0001220072013-03-17还是没有招到入门的内容,不过很感谢
- 粉丝: 2
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 通过go语言实现单例模式(Singleton Pattern).rar
- 通过python实现简单贪心算法示例.rar
- C语言中指针基本概念及应用详解
- (源码)基于Websocket和C++的咖啡机器人手臂控制系统.zip
- (源码)基于深度学习和LoRA技术的图书问答系统.zip
- (源码)基于Servlet和Vue的机动车车辆车库管理系统.zip
- (源码)基于ESP32C3和WiFi的LED控制系统.zip
- (源码)基于Spring Boot和Quartz的定时任务管理系统.zip
- (源码)基于jnetpcap框架的网络流量监控系统.zip
- (源码)基于Spring Boot和WebSocket的FTP部署管理系统.zip