lotus 附件的存、 取 、刪

注意:這個方法是將附件放到富文本中,然後再將富文本當做存儲的介質,進行存取刪的操作 
取附件方法------------------------------------------ 
通過Notesdocument.EmabledObjects屬性取得 

 

Java代碼 複製代碼

  1. Dim db As NotesDatabase  
  2. Dim view As NotesView  
  3. Dim doc As NotesDocument  
  4. Set db = New NotesDatabase( "SanFrancisco""hill.nsf" )  
  5. Set view = db.GetView( "All Documents" )  
  6. Set doc = view.GetLastDocument  
  7. If doc.HasEmbedded Then  
  8.   Forall o In doc.EmbeddedObjects  
  9.     Messagebox( o.Name )  
  10.   End Forall  
  11. Else  
  12.   Messagebox "No embedded objects found" 
  13. End If 

view plaincopy to clipboardprint?

  1. Dim db As NotesDatabase 
  2. Dim view As NotesView 
  3. Dim doc As NotesDocument 
  4. Set db = New NotesDatabase( "SanFrancisco""hill.nsf" ) 
  5. Set view = db.GetView( "All Documents" ) 
  6. Set doc = view.GetLastDocument 
  7. If doc.HasEmbedded Then 
  8.   Forall o In doc.EmbeddedObjects 
  9.     Messagebox( o.Name ) 
  10.   End Forall 
  11. Else 
  12.   Messagebox "No embedded objects found" 
  13. End If 



拆離方法------------------- 
可以用NotesEmbeddedObject這個對象的ExtractFile方法 

Java代碼 複製代碼

  1. Dim doc As NotesDocument  
  2. Dim rtitem As Variant  
  3. Dim fileCount As Integer  
  4. Const MAX = 100000 
  5. fileCount = 0      
  6. '...set value of doc...  
  7. Set rtitem = doc.GetFirstItem( "Body" )  
  8. If ( rtitem.Type = RICHTEXT ) Then  
  9.   Forall o In rtitem.EmbeddedObjects  
  10.     If ( o.Type = EMBED_ATTACHMENT ) _  
  11.     And ( o.FileSize > MAX ) Then  
  12.       fileCount = fileCount + 1 
  13.       Call o.ExtractFile _  
  14.       ( "c:\reports\newfile" & Cstr(fileCount) )  
  15.       Call o.Remove  
  16.       Call doc.Save( True, True )  
  17.     End If  
  18.   End Forall  
  19. End If 

view plaincopy to clipboardprint?

  1. Dim doc As NotesDocument 
  2. Dim rtitem As Variant 
  3. Dim fileCount As Integer 
  4. Const MAX = 100000 
  5. fileCount = 0     
  6. '...set value of doc... 
  7. Set rtitem = doc.GetFirstItem( "Body" ) 
  8. If ( rtitem.Type = RICHTEXT ) Then 
  9.   Forall o In rtitem.EmbeddedObjects 
  10.     If ( o.Type = EMBED_ATTACHMENT ) _ 
  11.     And ( o.FileSize > MAX ) Then 
  12.       fileCount = fileCount + 1 
  13.       Call o.ExtractFile _ 
  14.       ( "c:\reports\newfile" & Cstr(fileCount) ) 
  15.       Call o.Remove 
  16.       Call doc.Save( True, True ) 
  17.     End If 
  18.   End Forall 
  19. End If 



再次上傳附件方法------- 
可使用Notesrichtextitem的EmbedObject方法上傳 

Java代碼 複製代碼

  1. Dim session As New NotesSession  
  2. Dim db As NotesDatabase  
  3. Dim doc As NotesDocument  
  4. Dim rtitem As NotesRichTextItem  
  5. Dim object As NotesEmbeddedObject  
  6. Set db = session.CurrentDatabase  
  7. Set doc = New NotesDocument( db )  
  8. Set rtitem = New NotesRichTextItem( doc, "Body" )  
  9. Set object = rtitem.EmbedObject _  
  10. ( EMBED_ATTACHMENT, """c:\jim.sam")  
  11. doc.Form = "Main Topic" 
  12. doc.Subject = "Here's Jim's document, as an attachment" 

標籤: lotus

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章