zoukankan      html  css  js  c++  java
  • Lotus Notes Lotus Script

    Sub OutPutLink

    Dim rtf As NotesRichTextItem 
    Dim session As New NotesSession 
    Dim db As NotesDatabase 
    Dim doc As NotesDocument   
    Set db = session.CurrentDatabase 
    Set doccol=db.AllDocuments '此方法仅能用于代理方能正常运行。
    Set doc = doccol.GetFirstDocument() 
    flg=False
    If doccol.count>0 Then
        Set doc=doccol.Getfirstdocument()
        For i=1 To doccol.count
        On Error Resume Next
            Set rti=doc.GetFirstItem("Body")
        Set rtf=doc.GetFirstItem("Body")
            Set rtnav=rti.CreateNavigator
        Set rtlink = rtnav.getfirstelement(RTELEM_TYPE_DOCLINK)
            flg=True
        While (flg)
            If Not rtlink Is Nothing Then
    	    Call rtf.BeginInsert(rtnav)
    	    Call rtf.AppendText(rtlink.Docunid)
                Call rtf.EndInsert
    	    Set rtlink = rtnav.getnextelement
    	Else
    	    flg=False
    	End If
        Wend
    
            Call doc.Save(True,True)
        Set doc=doccol.getnextdocument(doc)
        Next
    End If
    Print "提取完毕!"
    

    End Sub

    Sub OutPutFile

    Dim session As New NotesSession 
    Dim db As NotesDatabase 
    Dim doc As NotesDocument   
    Dim rtitem As Variant 
    Dim NotesItem As NotesItem 
    Dim link As NotesRichTextDoclink
    Dim flg As Boolean
    Dim folderName As String
    Dim id As String
    Dim fileCount As Integer
    fileCount=0
    Dim subFolder As String
    Set db = session.CurrentDatabase 
    Set doccol=db.AllDocuments '此方法仅能用于代理方能正常运行。
    Set doc = doccol.GetFirstDocument() 
    flg=False
    
    If doccol.count>0 Then
    
    	Set doc=doccol.Getfirstdocument()
    
    	For i=1 To doccol.count
    
    		Set rtitem = doc.GetFirstItem( "Body" )
    
                        Set rtf = doc.GetFirstItem( "Body" )
    
    		id=doc.UniversalID
    		
    		folderName  = "C:	emp" & "" & id
    		
    		On Error Resume Next
    		
    		fileCount=0
    		
    		If Dir$(folderName,16)="" Then
    			Mkdir folderName
    		End If
    		
    		Forall o In rtitem.EmbeddedObjects                     
    			If ( o.Type = EMBED_ATTACHMENT ) Then
    				subFolder = folderName & "" & fileCount
    				If Dir$(subFolder,16)="" Then
    					Mkdir subFolder
    				End If
    
    				Set obj=o
    
    				If Not  obj Is Nothing Then
    					Call rtf.BeginInsert(obj)
    					Call rtf.AppendText("$$" & obj.Name & "$$")
    					Call rtf.EndInsert
    				End If
    
    				Call o.ExtractFile(subFolder  & "" & o.Name) 
    				fileCount=fileCount+1
    			End If         
    		End Forall 
    		
    		Dim attachName As Variant
    		
    		Dim attachObj As NotesEmbeddedObject
    		
    		attachName=Evaluate(|@AttachmentNames|,doc)
    		
    		Forall item In attachName               
    			Set attachObj= doc.GetAttachment(item)
    			If Not attachObj Is Nothing Then
    				subFolder = folderName & "" & fileCount
    				If Dir$(subFolder,16)="" Then
    					Mkdir subFolder
    				End If
    				Call attachObj.ExtractFile(subFolder  & "" & item)
    				fileCount=fileCount+1
    			End If
    		End Forall 
    		
    		Set doc=doccol.getnextdocument(doc)
    	Next
    End If
    Print "提取完毕!"
    

    End Sub

  • 相关阅读:
    动态显隐jgGrid的列,改变列名
    从数据库获取bit类型判断的时候要注意大小写
    jqGrid自定义列的用法
    ERP中Ajax的使用
    给DataGrid或Repeater加载树状结构
    jqGrid显示树形结构
    使用json异步获取数据提交表单
    封装jQuery图表插件
    java 多线程 day10 获取线程的返回值 CallableAndFuture
    java 多线程 day09 线程池
  • 原文地址:https://www.cnblogs.com/renfeng/p/12609158.html
Copyright © 2011-2022 走看看