Lotus script的一些常用方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LotusScript 是完全面向对象的编程语言。它通过预定义的类与 Domino 接口。Domino 监控用户代码的编译和加载,并且自动包含 Domino 的类定义。
访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。
写script关键是取对象,查看对象的属性,所以你要学会看notes提供的Script帮助。下面是我收集的一些script例子。一般是比较技巧的程序,要学习一般script编写,请下载lotusScript学习库!
LotusScript 是完全面向对象的编程语言。它通过预定义的类与 Domino 接口。Domino 监控用户代码的编译和加载,并且自动包含 Domino 的类定义。
访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。
写script关键是取对象,查看对象的属性,所以你要学会看notes提供的Script帮助。下面是我收集的一些script例子。一般是比较技巧的程序,要学习一般script编写,请下载lotusScript学习库!
怎样判断视图中没有文档?
set doc = vw.getfirstdocument()
if doc is nothing then
end if
如何将查询结果放到一个文件夹里?
下面是将搜索结果放到名叫newfolder的文件夹中,并跳转到该文件夹上
Sub Click(Source As Button)
Dim docs As notesdocumentcollection
Dim doc As notesdocument
...........
q=doc.query(0)
Set docs = db.ftsearch(q, 0)
Call docs.PutAllInFolder( "newfolder" )
Call w.OpenDatabase( "","","newfolder")
End Sub
如何删掉数据库中所有私有视图
Dim session As New notessession
Dim db As notesdatabase
Dim doc As notesdocument
Set db=session.currentdatabase
Forall i In db.views
Set doc=db.getDocumentByUNID(v.universalID)
' 这个地方视图当作文档来处理,以便取到视图的一些属性。viewflag=doc.getItemvalue("$flags")
If viewflag(0)="pYV" Then
' 视图属性中$flags为"pYV"的是私有视图。
Call i.remove
End If
End Forall
如何在Notes中调用ODBC数据源中的进程?
下面是一个利用ODBC调用access数据库(资料库)的script代码Dim session As New NotesSession
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
Set qry.Connection = con
Set result.Query = qry
con.ConnectTo("资料库")
qry.SQL = "SELECT * FROM 资料库"
result.Execute
If result.IsResultSetAvailable Then
Do
result.NextRow
id=result.GetValue("ID",id)
Loop Until result.IsEndOfData
result.Close(DB_CLOSE)
Else
Messagebox "Cannot get result set for AssetData"
Exit Sub
End If
con.Disconnect
End Sub
从后台刷新当前文档?
将当前文档先关闭后再打开
set doc=uidoc.document
......
call uidoc.save()
call uidoc.close()
set uidoc=ws.editdocument(doc)
获得当前视图中选择了的文档?
可以用 Notesdatabase 的 Unprocesseddocuments 属性。
Dim session As New notessession
Dim db As notesdatabase
Dim collection As notesdocumentcollection
Set db = session.currentdatabase
Set collection = db.UnprocessedDocuments Unprocesseddocuments 其实很有用的
notes和Excel交换数据
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim excelApplication As Variant
Dim excelWorkbook As Variant
Dim excelSheet As Variant
Dim i As Integer
Set excelApplication = CreateObject("Excel.Application") excelApplication.Visible = True
Set excelWorkbook = excelApplication.Workbooks.Add
Set excelSheet = excelWorkbook.Worksheets("Sheet1") excelSheet.Cells(1,1).Value = "姓名"
excelSheet.Cells(1,2).Value = "年龄"
i = 1
Set db = session.CurrentDatabase
Set view = db.GetView("abc")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
i = i + 1
excelSheet.Cells(i,1).Value = doc.ClassCategories(0) excelSheet.Cells(i,2).Value = doc.Subject(0)
Set doc = view.GetNextDocument(doc)
Wend
excelSheet.Columns("A:B").Select