Archive for 'Lotus Domino CS开发'
Lotus 动态表格 LS代码
记录陆君风的一个动态表格代码,列是固定的,行数跟着变量变化。 Set doc=New NotesDocument(db) doc.form="SRMReport" doc.Title="By Function" doc.ReportMonth=YearMonth Set ritem = New NotesRichTextItem( doc, "ReportTable" ) FunArray=Evaluate({@Unique(@DbColumn( "" ;"" ; "vbyFunctionReport" ; 2 ))}) Call InitialStyles Call ritem.AppendTable(Ubound(FunArray)+3, 16, , , styles) Set rtnav = ritem.CreateNavigator Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL) Call ritem.BeginInsert(rtnav) Call ritem.AppendText("Function") Call ritem.EndInsert Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL) Call ritem.BeginInsert(rtnav) Call ritem.AppendText("Total HC") Call ritem.EndInsert Sub InitialStyles Set styles(1) = session.CreateRichTextParagraphStyle styles(1).Alignment = ALIGN_CENTER styles(1).LeftMargin = 0 styles(1).FirstLineLeftMargin = 0 styles(1).RightMargin = RULER_ONE_CENTIMETER * 2.0 Set [...]
Posted: December 5th, 2008 under Lotus Domino CS开发.
Comments: none
Notes开发:通过程序启动附件
在文档中的ABC域中有一附件,用如下代码可启动程序。 Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA”(_ Byval hwnd As Long,_ Byval lpOperation As String,_ Byval lpFile As String,_ Byval lpParameters As String,_ Byval lpDirectory As String,_ Byval nShowCmd As Long) As Long 参数说明: hwnd:指定主窗口的句柄。 lpOperation:字符串,指定要执行的操作。可执行下列操作之一: “open”:打开lpFile参数指定的文件。 “print”:打印lpFile参数指定的文件。 “explore”:打开资源管理器并显示这个文件 lpFile:操作的文件,包括路径。 lpParameters:参数,当lpFile是一个可执行文件,是一个执行参数。 当lpFile是一个文档,将其设置为空。 lpDirectory:指定执行操作的默认路径。 nShowCmd:如lpFile是一个可执行文件,次参数指定程序被启动是的显示方式。 SW_HIDE: SW_SHOWNORMAL SW_SHOWMINIMIZED: SW_SHOWMAXIMIZED SW_MAXIMIZE SW_SHOWNOCATIVATE SW_SHOW SW_MINIMIZE SW_SHOWMINNOACTIVE SW_SHOWNA: [...]
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
检验数字域
Sub Exiting(Source As Field) Dim w As New notesuiworkspace Dim doc As notesuidocument Dim body As Variant Set doc=w.currentdocument num=doc.FieldGettext(“num”) If Int(num)
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
快速检查多个必须填写的域
Dim session As New notessession Dim ws As New notesuiworkspace Dim uidoc As notesuidocument Dim db As notesdatabase Dim form As notesform Set db=session.currentdatabase Set form=db.getform(“meFM”) Set uidoc=ws.currentdocument Dim value As String Forall field In form.field If Right(field,1)=”字符” Then value=uidoc.fieldgettext(field) If value=”” Then Messagebox “您必须填写标有*号的项目”,16,”error” Call uidoc.gotofield(field) exit sub End If End If End Forall [...]
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
从 Lotus 邮件数据库中删除附件
这是一个从 Lotus 邮件数据库中删除附件的代理。你可以把代理执行方式作为操作,或者放在视图或文件夹中的按钮里面。 Code: * Sub Initialize On Error Resume Next Dim session As New NotesSession Dim db As NotesDatabase Dim dc As NotesDocumentCollection Dim doc As NotesDocument Dim RTI As NotesRichTextItem Dim answer As Integer Dim strDocCount As String Set db = session.CurrentDatabase Set dc = db.UnprocessedDocuments Select Case dc.Count Case 0 Exit Sub [...]
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
利用程序选择运行指定代理
Dim session As New NotesSession Dim db As NotesDatabase Dim theAgent As NotesAgent Dim agentString As String Set db = session.CurrentDatabase Forall agent In db.Agents agentString = agentString & Chr(10) & agent.Name End Forall Messagebox agentString,, “Agents” Set theAgent = db.GetAgent(Inputbox(“请输入须运行的代理?”)) If Not(theAgent Is Nothing) Then Call theAgent.Run Else Messagebox “没有选择代理!” End If
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
将某数据库的ACL信息写入文件将其作为附件寄出
Dim db As New notesdatabase(“”,”XXX.nsf”) Dim acl As notesAcl,session As New notesSession Dim entry As notesACLEntry,myLevel As String,t1 As Integer Dim myFile As String Set acl=db.acl ‘将Acl条目信息写入一个临时文件 myFile=”c:\myACL.txt” Open myFile For Output As #1 Set entry=acl.getfirstEntry Do Until entry Is Nothing t1=entry.level If t1=6 Then myLevel=”Manager” If t1=5 Then myLevel=”Designer” If t1=4 Then myLevel=”Editor” If [...]
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
设置计算机名称(Notes API)
Declare Function SetComputerName Lib”kernel32.dll” Alias”SetComputerNameA”(Byval ipcomputername As String)As Long ipcomputername=”my” temp=SetComputerName(ipcomputername)
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
利用程序获取计算机名称及登陆用户名(Lotus Notes API)
Declare Function GetComputerName Lib “kernel32.dll” Alias “GetComputerNameA” (Byval lpBuffer As String,nSize As Integer)As Long Declare Function WNetGetUser Lib “mpr.dll” Alias “WNetGetUserA”(Byval t$,Byval ttt$,Byval siz&)As Long Dim lpBuffer As String Dim nSize As Integer nSize=48 Call GetComputerName(lpBuffer,nSize) Print tt$ Dim ttt As String Dim t As String t=”” Call WNetGetUser(0,ttt,8) Print ttt
Posted: October 16th, 2007 under Lotus Domino CS开发.
Comments: none
Domino R5记录Notes客户端的登陆ip
有几种不同的方法,可以获得你需要的Notes客户端信息 1. 使用Debug在服务器的Notes.ini文件中,激活Debug设置。注意: 使用Debug参数要小心,这会增加很多服务器日志中的信息,有可能会对磁盘空间造成影响,或者个别情况会带来性能的影响。 修改notes.ini, 然后重新启动服务器:LOG_CONNECTIONS=1 DEBUG_THREADID=1 CONSOLE_LOG_ENABLED=1 Debug输出信息会体现在服务器控制台和日志文件中(log.nsf) 2. 使用服务器控制台察看当前连接,输入如下命令中的一个:show user debug >debug.txtshow port tcpip >tcpip.txt 信息会记录到你指定文件名的文件中去,如果你希望在某些时段获取信息,可以在程序文档中设置。 3. 使用活动记录针对Domino6.x以后的版本,可以使用活动记录. 活动分析数据库中包含用户会话信息的结果,客户端地址字段中有客户端IP地址 如何使用活动记录,细节看Domino管理员帮助,大致如下:1. 管理员客户端,配置附签2. 在左侧,展开服务器,选择配置视图3. 右侧选择需要确定选择的配置设置文档,编辑配置或者添加配置4. 在配置设置文档中, 点击 活动记录 附签,选中活动记录已启用6. 在服务器活动记录配置中,选择需要记录的类型。对于活动趋势,启用除 Domino.MAIL 之外的所有任务。至少必须启用 Domino.Notes.Session 和 Domino.Notes.Database。7. (可选) 增加或减少检查间隔,输入创建下一个检查记录前要等待的分钟数。缺省为 15 分钟8. (可选) 在午夜记录检查选中“是”,在午夜记录进行中的会话活动。对于活动趋势,这是必需的。必须启用此域来启用活动记录。 9. (可选) 记录正常上班时间的检查选中“是”,然后指定主要工作时间段间隔以记录正常上班时间的检查。必须启用此域来启用活动记录。10. 保存&关闭 设置完毕后, 你可以分析所选的数据。(打开管理员客户端—〉服务器—〉分析 附签. 在右侧, 选工具—〉分析—〉活动。 确保记录类型选择Domino.Notes.Session。如果需要,检查其他选项,然后点OK 打开活动分析数据库, 就可以查看到客户端会话信息。 例如,Domino.NOTES.Session输出 Server [...]
Posted: May 20th, 2007 under Lotus Domino CS开发.
Comments: none