[ZT]常用的LOTUS代碼小集

火星人 @ 2014-03-05 , reply:0
←手機掃碼閱讀

[ZT]常用的LOTUS代碼小集

支持原創。請大家多多發表原創文章,也請常常在此與大家分享學習心得與樂趣~~~!
Chinaunix.net Lotus版歡迎您~~~

Lotus常用代碼

以下內容摘自lotus資源站
供大家參考使用.

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
2.退出時檢測關鍵的域不能為空
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
Messagebox "姓名不能為空!",0,"通訊錄"
Exit Sub
End If
Call uidoc.save
Call uidoc.close
End Sub
3.用私有視圖來顯示需要當前用戶處理的文檔,用以下視圖公式:
注意建立視圖時不要選中"保存到本地"選項,否則調試不便.
SELECT Form = "收文1" & NextApprover=@Name(;@V3UserName)
4.Notes中Active控制項
當文檔中添加OLE或其他通用的ActiveX控制項后,在文檔的script編輯框右側中,會自動添
加各種屬性和方法在notes的類列表中.在script中聲明該對象的 方法如下:
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")'該句為ole對象聲明,注意Chart是你給對象起的名
字 '接下來你就可以通過aa.**來調用其方法和屬性了.
End Sub
5.是否保存
在表單中設定一個域,名稱為saveoption
下列公式添加到返回按鈕中,決定文件退出是否保存
FIELD saveoptions:="1"; 保存 FIELD saveoptions:="0"; 不保存
6.用公式彈出對話框,按確定繼續,取消返回.
@If(@DialogBox("表單名";:;"表單標題");"";@Return("
"))
7.用script彈出對話框,按確定繼續,取消返回
Dim w as notesuiworkspace
If Not w.dialogbox("表單名",True,True,False,True,False,False,"填寫")
Then doc.close'用戶按取消退出
Exit Sub
End If
8.視圖中刪除文檔語句
@Command();
@Command()
9.檢測是否是周末
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
10.得到當前的伺服器和路徑
公式: ResideServer := @Subset(@DbName; 1)  
CurrentPath := @Subset(@DbName; -1)  
DirOnly := @If(@Contains(CurrentPath; "\\");
@LeftBack(CurrentPath; "\\") + "\\"; "");
DbFile := DirOnly + "***.NSF";
11.得到當前用戶名
公式:@Name(;@V3UserName)
script:Dim s as notessession
Dim myname as newnotesname(s.username)
messagebox myname.common
12.得到當前日期公式:
@today @date(@created)
script:Dim dt as notesdatetime
Set dt=New notesdatetime("")
Call dt.setnow
13.常用全局對象聲明 '-----對象變數-----
Dim w As NotesUIWorkspace
Dim s As NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim uidoc As NotesUIdocument. Dim doc As Notesdocument. Dim item As NotesItem
Dim dt As NotesDateTime
Dim username as notesname
14.一些計算域,開始時沒有值,如果不給它一個值會報錯,以下公式給計算域賦值
@if(Bfield="";0;Bfield)
15.特殊字元
@char(13)可以在@prompt提示框中顯示回車 script中用函數chr(13)




[火星人 via ] [ZT]常用的LOTUS代碼小集已經有354次圍觀

http://www.coctec.com/docs/service/show-post-41368.html