Skip navigation.

Posts tagged with "Lotusscript"

LotusScript 学习(一)

转自《碧海蓝天》http://www.xujiajie.net:81/viewthread.php?tid=4869&extra=page%3D1

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学习库!

如何辨别域中数据的类型?

CODE:


Dim Item as NotesItem

set item=doc.getfirstitem("item")

if item.type=NUMBERS then

end if


怎样判断视图中没有文档?

CODE:



set doc = vw.getfirstdocument()

if doc is nothing then

end if



如何将查询结果放到一个文件夹里?
下面是将搜索结果放到名叫newfolder的文件夹中,并跳转到该文件夹上

CODE:


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



如何删掉数据库中所有私有视图?

CODE:


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代码

CODE:



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



从后台刷新当前文档?
将当前文档先关闭后再打开

CODE:


set doc=uidoc.document
......
call uidoc.save()
call uidoc.close()
set uidoc=ws.editdocument(doc)




获得当前视图中选择了的文档?
可以用 Notesdatabase 的 Unprocesseddocuments 属性。

CODE:


Dim session As New notessession
Dim db As notesdatabase
Dim collection As notesdocumentcollection

Set db = session.currentdatabase
Set collection = db.UnprocessedDocuments


Unprocesseddocuments 其实很有用的
December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31