Lotus中定制搜索

          Sub SearchWeb()
           Dim QryDB As NotesDatabase
           Dim vwDBList As NotesView
           Dim sQueryString As String
           Dim sMinRecord,sMaxRecord,sSortMethod,sTemp,sQry,sOldQry,sSymbol As String
           Dim sSearchFuzzy As String
           Dim sUseCache As String
           Dim sServername As String
           Dim sDbName As String
           Dim sViewName As String
           Dim sPage As String
           Dim sCondition As String
           Dim sDBDocID As String
           Dim sFields As String
           Dim vResult() As Variant
           Dim vTemp,vDBDocList As Variant
           Dim i,j,iRecordNumber As Integer
           
           Set session = New NotesSession
           Set db = session.currentdatabase
           Set doc = session.documentcontext
           sQry = doc.Query_String_Decoded(0)
           sOldQry = sQry
           '-------------------------------- 獲取查詢參數(shù) --------------------------------------
           vTemp = Evaluate("@ReplaceSubstring('"+sQry+"';'+';' ')")
           
           sTemp = vTemp(0)
           sQry = sTemp
           
           i = Instr(sTemp,"^")
           sCondition = Mid(sTemp,i+1) '查詢條件
           
           sDBDocID = Left(sTemp,i-1)
           i = Instr(sDBDocID,"&")
           sDBDocID = Mid(sDBDocID,i+1)'查詢視圖參數(shù)
           
           'sSortMethod = Mid(sCondition,Instr(sCondition,"~")+1,1)'排序方式 
           sSearchFuzzy = Mid(sCondition,Instr(sCondition,"!")+1,1)'是否使用模糊查詢
           sUseCache = Mid(sCondition,Instr(sCondition,"$")+1,1)'是否使用Cache
           
           i = Instr(sCondition,"@")
           j = Instr(i+1,sCondition,"@")
           sMinRecord=Val(Mid(sCondition,i+1,j-i-1))'查詢記錄起始數(shù)
           sMaxRecord=Val(Mid(sCondition,j+1))'查詢記錄每頁最大結(jié)果數(shù)
           sCondition = Mid(sCondition,1,i-1)'取得查詢關(guān)鍵字 
           
           vDBDocList = Extract(sDBDocID,",") '獲取查詢視圖參數(shù)的數(shù)組
           
           Call ExtractArray(sCondition) '獲取查詢關(guān)鍵字列表
           iRecordNumber = 0
           sPage = ""
           sSymbol = ""
           If sSearchFuzzy = "1" Then
            sSymbol = "*"
           End If
           '------------------------------------------------------------------------------------
           '---------------------------------- 開始查詢 ----------------------------------------
           Forall x In vDBDocList
            vTemp = Extract(Cstr(x),"!")'拆分查詢參數(shù)(所在服務(wù)器!所在數(shù)據(jù)庫!查詢視圖)
            
            sServerName=vTemp(0)'查詢數(shù)據(jù)庫所在服務(wù)器
            sDbName=vTemp(1)'查詢數(shù)據(jù)庫
            sViewName = vTemp(2)'查詢的視圖名
            
            Set QryDB = New NotesDatabase(sServerName,sDbName)'取得查詢數(shù)據(jù)庫對(duì)象
            
            Set view = QryDB.getview(sViewName)'取得查詢數(shù)據(jù)庫視圖
            sQry=""
            sQueryString = ""
            Forall y In sQryKey
             sQry = Replace(y,"""","''")
             sTemp = ""
             '當(dāng)指定域查詢時(shí)
             If doc.Fields(0) <> "" Then
              Forall z In doc.Fields
               If sTemp = "" Then
                sTemp = "FIELD "+z+{ contains "}+sSymbol+sQry+sSymbol+{"}
               Else
                sTemp = sTemp + " AND FIELD "+z+{ contains "}+sSymbol+sQry+sSymbol+{"}
               End If
              End Forall
              
              If sQueryString = "" Then
               sQueryString = "(" + sTemp +")"
              Else
               sQueryString = sQueryString + " OR (" + sTemp +")"
              End If
             Else'未指定域
              If sQueryString = "" Then
               sQueryString = sQry
              Else
               sQueryString = sQueryString + " AND " + sQry
              End If
             End If
            End Forall
            j = view.FTSearch( sQueryString, Cint(sMaxRecord))'開始查詢
            '將結(jié)果形成XML數(shù)據(jù)
            If j>0 Then
             For i = 1 To j
              iRecordNumber = iRecordNumber + 1
              Set qrydoc = view.getnthdocument(i)
              sPage = sPage + {<row url="javascript:opendoc('/}+QryDB.Replicaid+{/0/}+qrydoc.Universalid+{?opendocument')">}
              sPage = sPage + {<number>}+Cstr(iRecordNumber)+{</number>}
              sPage = sPage + {<title>}+qrydoc.ColumnValues(0)+{</title>}
              sPage = sPage + {<category>}+doc.Name(0)+{</category>}
              sPage = sPage + {<score>}+Cstr(qrydoc.FTSearchScore)+{%</score>}
              sPage = sPage + {</row>}
             Next
            End If
            Call view.clear
           End Forall
           '------------------------------------------------------------------------------------
           '---------------------------------- 輸出結(jié)果 ----------------------------------------
           Print {Content-type: text/xml}
           Print {<?xml version='1.0' encoding="utf-8" ?>}
           Print {<view name="查詢結(jié)果" id="vgosearchresult.xml">}
           Print {<header>}
           Print { <number>序號(hào)</number>}
           Print { <title>標(biāo)題</title>}
           Print { <category>位置</category>}
           Print { <score>匹配度</score>}
           Print {</header>}
           Print {<action/>}
           Print {<rows>}
           Print sPage
           Print {</rows>}
           Print {</view>}
           '------------------------------------------------------------------------------------
          End Sub

          posted @ 2010-04-09 09:21 明高 閱讀(142) | 評(píng)論 (0)編輯 收藏

          在Lotus開發(fā)中的使用JDBC進(jìn)行數(shù)據(jù)交互

          import java.io.*;
          import java.net.URL;
          import java.sql.*;
          import java.util.Properties;
          import lotus.notes.*;
          import java.util.*;

          public class  savetonewdatabase extends AgentBase {
           public void NotesMain() {

            Driver drv = null;
            PrintWriter out = null; 
                 try {
                     Session session = getSession();
                     AgentContext ac = session.getAgentContext();
                     Database db = ac.getCurrentDatabase();
             Database SendDB = session.getDatabase(db.getServer(),"lt_getfile.nsf");
                     Document doc = ac.getDocumentContext();   

                     out = getAgentOutput();      
                         String docUnid;
                         //Get the new record's unid
                         docUnid = uniqueID();
                             
             //Get the sql insert statement   
             StringBuffer SqlUrl = new StringBuffer("Insert into Shouwen_stat (");
             StringBuffer SqlValue = new StringBuffer(" values (");

               String temp= doc.getItemValueString("F_hao");
            
                         if(temp!=null){
                          temp = doc.getItemValueString("F_ziTitle")+"〔"+doc.getItemValueString("F_zi")+"〕"+doc.getItemValueString("F_hao")+"號(hào)";
                          }else{
                          temp = "〔"+doc.getItemValueString("F_zi")+"〕";
                         }  
           
             if (temp!= null){
              SqlUrl.append("doc_no");
              SqlValue.append("'" + temp+"'");
               
             }
             String doc_id = doc.getItemValueString("CurDocId");
             if (doc_id != null) {
              SqlUrl.append(",doc_id");
              SqlValue.append(",'" + doc_id + "'");
             }
             String sqlField = doc.getItemValueString("F_title");
             if (sqlField != null) {
              SqlUrl.append(",doc_title");
              SqlValue.append(",'" + sqlField + "'");
              }
             
             sqlField = doc.getItemValueString("shenghr");
             if (sqlField != null) {
              SqlUrl.append(",niban_people");
              SqlValue.append(",'" + sqlField + "'");
             }
             
             sqlField = doc.getItemValueString("F_BigSpecies");
             if (sqlField != null) {
              SqlUrl.append(",wen_zhong");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("text");
             if (sqlField != null) {
              SqlUrl.append(",file_content");
              SqlValue.append(",'" + sqlField  + "'");
             }

             sqlField = doc.getItemValueString("timewrite"); //收文日期
             
             if (sqlField != null) {
              SqlUrl.append(",shouwen_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("F_FilekeyWord");
             if (sqlField != null) {
              SqlUrl.append(",title_word");
              SqlValue.append(",'" + sqlField  + "'");
              }
             sqlField = doc.getItemValueString("F_emergency");
             if (sqlField != null) {
              SqlUrl.append(",huan_ji");
              SqlValue.append(",'" + sqlField + "'");
             }
             
             sqlField = doc.getItemValueString("F_UnitName");
             if (sqlField != null) {
              SqlUrl.append(",laiwen_unit");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("F_Secret");
             if (sqlField != null) {
              SqlUrl.append(",mi_ji");
              SqlValue.append(",'" + sqlField  + "'");
              }

             sqlField = doc.getItemValueString("laiwfs");
             if (sqlField != null) {
              SqlUrl.append(",laiwen_mode");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("shengpyj");
             if (sqlField != null) {
              SqlUrl.append(",niban_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             
             sqlField = doc.getItemValueString("shenghyj");
             if (sqlField != null) {
              SqlUrl.append(",niban_yijian");
              SqlValue.append(",'" + sqlField + "'");
             }
             
             sqlField = doc.getItemValueString("F_EndTime");
             if (sqlField != null) {
              SqlUrl.append(",banli_qixian");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("lind");
             
             if (sqlField != null) {
              SqlUrl.append(",chengban_yj");
              SqlValue.append(",'" + sqlField  + "'");
              }

             sqlField = doc.getItemValueString("pisyj");
             if (sqlField != null) {
              SqlUrl.append(",piban_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             
             sqlField = doc.getItemValueString("lindps");
             if (sqlField != null) {
              SqlUrl.append(",piban_yijian");
              SqlValue.append(",'" + sqlField  + "'");       
             }

                 sqlField = doc.getItemValueString("banlyj");
             if (sqlField != null) {
              SqlUrl.append(",banli_jieguo");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("banlr");
             if (sqlField != null) {
              SqlUrl.append(",banli_people");
              SqlValue.append(",'" + sqlField  + "'");
             }

             sqlField = doc.getItemValueString("banlsj");
             if (sqlField != null) {
              SqlUrl.append(",banli_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
                         sqlField = doc.getItemValueString("chengbyj");
             if (sqlField != null) {
              SqlUrl.append(",piban_people");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("chengbr");
             if (sqlField != null) {
              SqlUrl.append(",chengban_people");
              SqlValue.append(",'" + sqlField  + "'");
             }

             sqlField = doc.getItemValueString("chengbsj");
             if (sqlField != null) {
              SqlUrl.append(",chengban_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("temp");  //流水號(hào)
             if (sqlField != null) {
              SqlUrl.append(",shouwen_bianhao");
              SqlValue.append(",'" + sqlField  + "'");
             }  
             sqlField=doc.getItemValueString("shihgd");   //文件是否歸檔
            if(sqlField!=null){
             SqlUrl.append(",document_state");
              SqlValue.append(",'"+sqlField+"'");
             } 
             sqlField=doc.getItemValueString("wenjzx");    //文件走向
             if(sqlField!=null){
              SqlUrl.append(",send_file");
              SqlValue.append(",'"+sqlField+"'");
             }   

             SqlUrl.append(")");
             SqlValue.append(")");
             String Va = SqlValue.toString();
              SqlUrl.append(Va);
             
             // Connect to data source
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             drv = new sun.jdbc.odbc.JdbcOdbcDriver();   
             
             String url = "jdbc:odbc:is_archive";
                           
             Properties props = new Properties();
             props.put("user","isa");
             props.put("password","gxmi");   
             Connection con = drv.connect(url,props);
             
             if (con==null){
              out.println("<h1>Con't Connect to DB!</h1>");
              return;
             }   
             Statement stmt = con.createStatement();
             
             //Insert a record to the Fwdj table             
             Va = SqlUrl.toString();
             Va =new String(Va.getBytes("gb2312"),"ISO-8859-1"); 
             
             stmt.executeUpdate(Va);
           
            
                   out.println("<link rel='stylesheet' href='/oa.css'><br><br><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>");
                       out.println("<TR VALIGN=top><TD WIDTH=232><IMG SRC='/Lt_getfile.nsf/c01a1dee4878d8a648256b270024a88c/$Body/0.25E!OpenElement&FieldElemFormat=gif' WIDTH=208 HEIGHT=21></TD>");
                       out.println("<TD WIDTH=416 VALIGN=middle><DIV ALIGN=center><B><FONT SIZE=5 COLOR='0000FF'>操作反饋信息</FONT></B></DIV></TD></TR></TABLE>");
                       out.println("<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR VALIGN=top>");
                       out.println("<TD WIDTH=689><IMG SRC='/Lt_getfile.nsf/c01a1dee4878d8a648256b270024a88c/$Body/0.CFA!OpenElement&FieldElemFormat=jpg' WIDTH=688 HEIGHT=4></TD></TR>");
                       out.println("</TABLE><BR><br><br><br><br><P><BR><BR><BR><BR>");
                       out.println("<table border=0  bgColor=#0099cc borderColorLight=#000000 cellPadding=1 cellSpacing=2 align='center'><tr><td  bgcolor=#EFEFEF>文件發(fā)送給下一辦理人"+doc.getItemValue("sendtobak")+"辦理!</td></tr></table>");
           
            } catch (Exception e) {
             out.println(e.getMessage());
             e.printStackTrace();
            }
              }
           public static String uniqueID()
            {
                   StringBuffer sb=new StringBuffer(20);
               java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyy/MM/dd");
               java.util.Date currentTime=new java.util.Date();
               String sid=formatter.format(currentTime);
               return sid;
               }
              
           public static String replaceAll(String operStr,String oldStr ,String replaceStr){
            int fromIndex=0;
            int index=0;
            int oldStrLen=oldStr.length();
            int replaceStrLen=replaceStr.length();
            
            while((index=operStr.indexOf(oldStr,fromIndex))!=-1){
             //新的位置起點(diǎn)
             //fromIndex+replaceStrLen-oldStrLen+1
             fromIndex=index + replaceStrLen;
             operStr=operStr.substring(0,index)+replaceStr+
              operStr.substring(index+oldStrLen,operStr.length());
            }
            
            return operStr;
           }
           
           
           
          }

          posted @ 2010-04-09 09:20 明高 閱讀(408) | 評(píng)論 (0)編輯 收藏

          lotus notes 開發(fā)中BS下實(shí)現(xiàn)組合查詢的方法

          在進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候用戶要求對(duì)各文件能夠?qū)崿F(xiàn)組合條件的查詢和統(tǒng)計(jì),開發(fā)之初我選擇了notes自身提供的綜合查詢表單$$Search Form來實(shí)現(xiàn),但在用戶使用了一段時(shí)間發(fā)現(xiàn),采用$$Search Form來進(jìn)行組合條件查詢時(shí)常常會(huì)搜索到許多并不滿足條件的文檔或者搜索到的文檔根本就不知道是什么,為了解決這個(gè)問題,我決定寫代碼來實(shí)現(xiàn)組合條件查詢,下面就來講講實(shí)現(xiàn)的過程。   首先建立一個(gè)表單(Fsearch),主要用來現(xiàn)實(shí)和選擇查詢條件,表單的域元素如下表所示:

          編號(hào)
           域名
           含義
           類型
           說明
           
          01
           SaveOptions
           防止使用該表單創(chuàng)建文檔
           文本域
           該域是系統(tǒng)域當(dāng)值為”0”的時(shí)候當(dāng)前表單不會(huì)創(chuàng)建文檔,因?yàn)檫@里使用該表單僅僅是為了選擇查詢條件,不需要?jiǎng)?chuàng)建文檔,所以該域的值為“0”
           
          02
           biaoti
           發(fā)文標(biāo)題
           文本域
            
          03
           zhutici
           主題詞
           文本域
            
          04
           laiwenhao
           發(fā)文號(hào)
           文本域
            
          05
           nigaoren
           擬稿人
           文本域
            
          06
           danwei
           擬稿人單位
           文本域
            
          07
           syear
           文檔所屬年度
           文本域
            
          08
           smonth
           文檔所屬月份
           文本域
            

          在表單上按照用戶要求和使用習(xí)慣利用表格布局好上述元素后,在表單上創(chuàng)建一個(gè)熱點(diǎn)按鈕“現(xiàn)在查找“,執(zhí)行@Command([ToolsRunMacro];"(wFaWenSearch)") 的公式命令,其中wFaWenSearch 是一個(gè)共享代理,代碼如下:Sub Initialize    ‘//定義變量 Dim session As New NotesSession Dim cDoc As NotesDocument Dim db As NotesDatabase Dim sResult , Set sResultemp  As NotesDocumentCollection Dim sql As String   Set db=session.currentDatabase  ‘//獲得當(dāng)前數(shù)據(jù)庫 Set cDoc=session.DocumentContext() ‘//獲得當(dāng)前文檔,即用戶打開的選擇條件的表單Fsearch Set view=db.getView("($UNID)") ‘//獲得($UNID)視圖,該視圖里現(xiàn)實(shí)所有文件 ‘//============獲取查詢條件=========// sYear=cDoc.syear(0) sMonth=cDoc.smonth(0) biaoti=cDoc.biaoti(0) zhutici=cDoc.zhutici(0)  laiwenhao=cDoc.laiwenhao(0) danwei=cDoc.danwei(0) nigaoren=cDoc.nigaoren(0)  ‘//================END================//‘//=====組合查詢條件======//sql="form=""fwmain"""+"&(@Contains(biaoti;"""+biaoti+""")"+"|@Contains(zhutici;"""+zhutici''>|@Contains(zhutici;"""+zhutici+""")"+_"|@Contains(t1+""[""+@text(t2)+""]""+@text(t3''>|@Contains(t1+""[""+@text(t2)+""]""+@text(t3)+ ""號(hào)""+;"""+laiwenhao+""")"+"|@contains(danwei">|@contains(danwei; """+danwei+""")"+_"|@Contains(nigaoren;"""+nigaoren+""")"+"|@Contains(sYear;"""+sYear''>|@Contains(nigaoren;"""+nigaoren+""")"+"|@Contains(sYear;"""+sYear+""")"+"| @Contains(sMonth;"""+sMonth+"""))"Set  sResultemp= db.search(sql,Nothing,0)  ‘//在數(shù)據(jù)庫中搜索滿足上述條件的所有文檔,獲得該文檔集;但是由于使用search語法會(huì)把當(dāng)前操’//作者沒有閱讀權(quán)限的文檔也搜索到,所以先把搜索到的文檔集賦予臨時(shí)變量sResultemp 再進(jìn)行處理 Set  sResult=db.search("@Contains(sYear;''1'')",Nothing,0) ‘//初始化一個(gè)文檔集sResul,這文檔集中沒有文件的‘//========下面這循環(huán)主要是利用視圖對(duì)文檔讀者權(quán)限的限制功能把sResultemp====//‘//========這個(gè)文檔集中當(dāng)前用戶有閱讀權(quán)限的文檔添加到文檔集sResul中去=====// For i=1 To  sResultemp.count  Set  sDoc=sResultemp.getNthDocument(i)  key=sDoc.bh(0)  Set  Sview=db.getView("default")  Set  sDoc=Sview.Getdocumentbykey(key,True)  If  Not  sDoc  Is  Nothing Then   Set  sDoctmp=sResult.Getdocument(sDoc)   If  sDoctmp Is  Nothing Then    Call sResult.Adddocument(sDoc)   End If  End If Next If  sResult.count=0  Then  Print "沒有找到您要查找的文件"  Exit Sub End  If  ''//=========創(chuàng)建網(wǎng)頁來顯示查詢結(jié)果=======// Print "<html>" Print "<head>" Print "<link rel=stylesheet type=text/css href=ViewCss.css>" Print "</script>" Print "</head>"Print "<body>" Print "<table width=100%>" Print "<tr>" Print "<td colspan=6 align=right style=border-style:solid;border-width:0 0 2px;border-color:#669933>查找到&nbsp;"+Cstr(jjj)+"&nbsp;份文件&nbsp;<br>" Print "</td>" Print "</tr>" Print "<tr>" Print "<td width=5% class=td1></td>" Print "<td width=10% class=td1>年度</td>" Print "<td width=10% class=td1>月份</td>" Print "<td width=40% class=td1>標(biāo)題</td>" Print "<td width=20% class=td1>主辦部門</td>" Print "<td width=15% class=td1>擬稿人</td>" Print "</tr>" For i=1 To sResult.count  Set sDoc=sResult.getNthDocument(i)  Set sDoc=view.getDocumentByKey(sDoc.bh(0),True)  If Not sDoc Is Nothing Then      Print "<tr>"    Print "<td class=tdx><a href=/"+sDoc.DBPath(0)+"/merit_gwgl.nsf/($UNID)/"+sDoc.UniversalID+"?opendocument target=_blank><img src=01.gif border=0 ></a></td>"   Print "<td class=tdx>"+sDoc.sYear(0)+"</td>"   Print "<td class=tdx>"+sDoc.sMonth(0)+"</td>"   Print "<td class=tdx>"+sDoc.biaoti(0)+"</td>"   Print "<td class=tdx>"+sDoc.danwei(0)+"</td>"   Print "<td class=tdx>"+sDoc.nigaoren(0)+"</td>"   Print "</tr>"  End If Next Print "</table>"  Print "</body>" Print "</html>" End Sub

          posted @ 2010-04-09 09:20 明高 閱讀(398) | 評(píng)論 (0)編輯 收藏

          Js操控Lotus中的附件

          <input type="checkbox" name="%%Detach" value="IBM咨詢.txt"><a href="附件路徑">IBM咨詢.txt</a></td></tr>

          選中以后,保存文檔,附件就會(huì)被系統(tǒng)自動(dòng)刪除 
          江川之子 22:04:47 使用什么方法定位嵌入的embeddedobject呢 ,嵌入到文檔還是rtf域 
          CoolStar~_~ 22:04:55 文檔 
          江川之子 22:05:24 只能用getembedobject 
          江川之子 22:05:44 如果是rtf中的就可以用ref。emdedobjects  

           主業(yè)務(wù)數(shù)據(jù)表組,日志數(shù)據(jù)表組,組織結(jié)構(gòu)權(quán)限組表,輔助數(shù)據(jù)表組,業(yè)務(wù)控制數(shù)據(jù)表組,
          尤其對(duì)于oa,組織結(jié)構(gòu)最重要。對(duì)于一般的業(yè)務(wù),業(yè)務(wù)控制數(shù)據(jù)最重要,這樣可以讓你的業(yè)務(wù)變的很靈活。

          posted @ 2010-04-09 09:19 明高 閱讀(163) | 評(píng)論 (0)編輯 收藏

          LotusScript操縱附件

          Sub InitAttachment
           On Error Goto ErrorHandle
           Dim temDoc    As notesDocument
           Dim temDoc1  As NotesDocument
           Dim docAttachment As NotesDocument
           Dim strQuery   As String
           Dim strUNID   As String
           Dim strFormula  As String
           Dim strList  As String
           Dim vPath   As Variant
           strQuery = note.Query_String_Decoded(0)
           If Instr(strQuery,"&UNID=") > 0 Then
            strUNID = Mid(strQuery,Cint(Instr(strQuery,"&UNID=")) + 6,32)
            Set temDoc = db.GetDocumentByUNID(strUNID)
            If Not (temDoc Is Nothing) Then
             Set docAttachment = db.CreateDocument
             docAttachment.Form = "fmAttachment"
             docAttachment.Status = "0"
             docAttachment.CourseInfoUnid = temDoc.UniversalID
             If temDoc.HasEmbedded Then   
              Set temDoc1 = db.CreateDocument
              Call temDoc.CopyAllItems (temDoc1)
              Forall item In temDoc1.Items
               If Not (Ucase(item.Name) = "$FILE") Then
                temDoc1.RemoveItem (item.Name)
               End If
              End Forall
              Call temDoc1.CopyAllItems(docAttachment)
             End If   
            End If  
           End If
           Call docAttachment.Save(True,False)
           docAttachment.CurUnid = docAttachment.UniversalID
           Call docAttachment.Save(True,False)
           vPath = Evaluate(|@ReplaceSubstring(@Subset(@DbName;-1); " " : "\\"; "+" : "/")|)
           Print |<script language="javascript">  |
           Print |<!--       |
           Print |window.location.href = "/| & vPath(0) & _
           |/0/| & docAttachment.UniversalID & |?editdocument";|
           Print |-->    |
           Print |</script>   | 
           Exit Sub
          'Domino Control Platform Error Info  
          ErrorHandle:
           Messagebox db.FilePath & "_LibEduCommand.InitAttachment:" & Error$ & " at line number " & Cstr(Erl)
           'Resume Next 
          End Sub

          posted @ 2010-04-08 19:50 明高 閱讀(428) | 評(píng)論 (0)編輯 收藏

          使用MIME發(fā)送郵件通知

          Sub SendMailNotification( docMain As Notesdocument, strSendto As String ,strTempletNum As String)
           On Error Goto ErrorHandle
           
           Dim docMail   As NotesDocument
           Dim rti    As NotesRichTextItem
           Dim body    As NotesMIMEEntity
           Dim child   As NotesMIMEEntity
           Dim stream   As NotesStream
           Dim strTmp   As String
           Dim strReplace  As String
           Dim bSuccess  As Boolean
           Dim strHtml  As String
           s.ConvertMIME   = False
           Set stream   = s.CreateStream
           
           Set docMail  = New NotesDocument(docMain.ParentDatabase) 
           Call docMail.ReplaceItemValue("Form","Memo")
           Call docMail.ReplaceItemValue("Principal","Reporter Notification")
           Call docMail.ReplaceItemValue("ReplyTo","")
           Set body   = docMail.CreateMIMEEntity("Body")
           Set child  = body.CreateChildEntity
           
           
           Call stream.WriteText(MailText(docMain,strTempletNum))
           Call docMail.ReplaceItemValue( "Subject",MailSubject(docMain,strTempletNum))   
           
           strHtml = |<br><div style="font-size:15px; "><b><a href="|&ProfileDoc.DBHome(0) & ProfileDoc.DBPath(0) & |/0/| & docMain.UniversalID &|?opendocument"  target="_blank">請(qǐng)點(diǎn)擊打開文檔</a></b></div>|
           stream.WriteText(strHtml)
           
           Call docMail.ReplaceItemValue("BlindCopyTo", strSendto)
           Call child.SetContentFromText(stream, "text/html;charset=GB2312", ENC_NONE)
           Call stream.Truncate
           Call docMail.Send(False)
           s.ConvertMIME = True  
           Call docMail.Remove(True)
           
           Exit Sub
          ErrorHandle:
           'iSuccess = False
           Messagebox db.FilePath & "_LSMailCommand.SendNotification:" & Error$ & " at line number " & Cstr(Erl) 
           Exit Sub
          End Sub

          posted @ 2010-04-08 19:41 明高 閱讀(167) | 評(píng)論 (0)編輯 收藏

          Excel報(bào)表統(tǒng)計(jì)

          'Print |正在統(tǒng)計(jì),請(qǐng)稍候...|
           Print |<script language="javascript">   |
           Print |<!--
                var oXL
                var oBook
                var oSheet1
            var oXL = new ActiveXObject("Excel.Application");       
                oBook = oXL.Workbooks.Add();
                oSheet1 = oBook.ActiveSheet; 
            oSheet1.Name = "IP-ASIC-Simulation";
            oXL.sheets(oSheet1.Name).Select;
            oXL.Range("A1:G1").Select;
            oXL.Selection.RowHeight = 28.50;
            oXL.Selection.HorizontalAlignment = 3;
            oXL.Selection.VerticalAlignment = 3 ;
            oXL.Selection.Font.Name = "宋體";
            oXL.Selection.Font.FontStyle = "加粗";
            oXL.Selection.Font.Size = 10;
            oXL.Selection.Interior.ColorIndex = 19;
            oXL.Selection.Borders.LineStyle = 1;
            oSheet1.Cells(1,1).Value = "Customer's Project";
            oSheet1.Cells(1,2).Value = "SH Project";  
            oSheet1.Cells(1,3).Value = "GID";
            oSheet1.Cells(1,4).Value = "RD Users";
              oSheet1.Cells(1,5).Value = "Layout Users";
            oSheet1.Cells(1,6).Value = "Created Time";
            oSheet1.Cells(1,7).Value = "Update Time";
            oXL.Selection.Columns.AutoFit;
            oXL.Selection.Rows.AutoFit;
            |  
           i = 2 
           
           While Not (doc Is Nothing)
            Print |oSheet1.Cells(| & Cstr(i) & |,1).Value = "| & Cstr(doc.Plan_Code_Sunplus(0)) &     |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,2).Value = "| & Cstr(doc.Plan_Code_Sh(0)) &   |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,3).Value = "| & Cstr(ProfileDoc.GID(0)+i-2) &    |";|
            'RDUser和LayoutUser
            For j=1 To doc.num(0)   
             strItemName   = "LoginName" & j
             Set item      = doc.GetFirstItem(strItemName)
             strUserList = strUserList + item.Text+","
            Next
            Print |oSheet1.Cells(| & Cstr(i) & |,4).Value = "| & strUserList &     |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,5).Value = "| & strUserList &     |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,6).Value = "| & Cstr(doc.Created) &    |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,7).Value = "| & Cstr(doc.ChangeDate(0)) &   |";|
            
            i = i+1 
            Print |
             oXL.sheets(oSheet1.Name).Select;
             oXL.Range(oSheet1.Cells(2,1),oSheet1.Cells(| & Cstr(i) & |-1,7)).Select;
             oXL.Selection.Font.Name = "宋體";
             oXL.Selection.Font.Size = 10;
             oXL.Selection.Borders.LineStyle = 1;
             oXL.ReferenceStyle = 1;
             oXL.Range("A1").Select;
              |  
            Set doc  = vw.GetNextDocument(doc)
           Wend
           
           Print |oXL.Visible  =  true; |
           Print |window.history.go(-1); |
           'Print |window.close();  |
           Print |-->    |
           Print |</script>   |

          posted @ 2010-04-08 19:39 明高 閱讀(195) | 評(píng)論 (0)編輯 收藏

          關(guān)于函件收集

          基本原理:函件收集針對(duì)異域domino服務(wù)器的notes數(shù)據(jù)庫進(jìn)行信息的傳遞。
          啟動(dòng)administrator端,選擇"People&Group"的標(biāo)簽;
          展開"Mail-In Database and Resources",添加“函件收集數(shù)據(jù)庫”;
          以新聞數(shù)據(jù)庫為例:
          函件收集數(shù)據(jù)庫名稱:dccnews(隨意)
          Internet地址:dccnews@ibm.com
          網(wǎng)絡(luò)域:ibm
          服務(wù)器:mingle/ibm
          文件名:oa/dccnews.nsf

          說明:dccnews@ibm.com為郵件的通信地址,不需要單獨(dú)為此在names.nsf中注冊。只需要將其在外發(fā)的郵件服務(wù)器中設(shè)置,這樣進(jìn)來的郵件可以識(shí)別即可。我們可以通過創(chuàng)建類型為“郵件進(jìn)入時(shí)”的代理即可解析和接收郵件的信息。

          posted @ 2010-04-08 19:25 明高 閱讀(217) | 評(píng)論 (0)編輯 收藏

          Lotus表單中的內(nèi)置域

          $Conflict
          如果文檔中有此域產(chǎn)生,則標(biāo)志此域?yàn)闆_突文檔。

          posted @ 2010-04-08 19:23 明高 閱讀(135) | 評(píng)論 (0)編輯 收藏

          Lotus表單中未公開的域

          $$QuerySaveAgent
          功能:等價(jià)于表單中的WebQuerySave事件。

          posted @ 2010-04-08 19:04 明高 閱讀(149) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共3頁: 上一頁 1 2 3 下一頁 
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 观塘区| 洛隆县| 周宁县| 康平县| 阿拉尔市| 永清县| 金阳县| 永定县| 青海省| 崇仁县| 从江县| 海盐县| 威信县| 涡阳县| 普宁市| 邯郸县| 龙江县| 栖霞市| 化德县| 阿拉善左旗| 浦江县| 读书| 沭阳县| 通州市| 望江县| 饶阳县| 武汉市| 永吉县| 永胜县| 南京市| 特克斯县| 长宁县| 奉化市| 孝感市| 宜良县| 镶黄旗| 满城县| 汤原县| 邵武市| 黑龙江省| 如东县|