首页 > 其他 > 详细

Lotus Notes Lotus Script

时间:2020-03-31 22:53:14      阅读:89      评论:0      收藏:0      [点我收藏+]

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.AppendText(rtlink.Docunid)
	    ‘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" )

		id=doc.UniversalID

		If id="A539AC2575E40E4248258530002854FB" Then
			folderName  = "C:\temp" & "\" & id
		End If
		
		If id="8326AAA4D21067634825853000285505" Then
			folderName  = "C:\temp" & "\" & id
		End If
		
		folderName  = "C:\temp" & "\" & 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
				
				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

Lotus Notes Lotus Script

原文:https://www.cnblogs.com/renfeng/p/12609158.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!