【发布时间】:2021-02-23 08:43:59
【问题描述】:
您好,我编写了这段代码(从我在网上找到的网站复制)以在我的 Lotus Notes 收件箱视图中查找电子邮件并保存附件。 我不能做的是找到我需要的主题的文档。该集合未填充。我哪里错了?谢谢。
Sub Initialize
Dim sess As New NotesSession
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim filename As Variant
Const DIR_NOT_FOUND = 76
Dim i As Integer
Dim strname As String
Dim view As NotesView
Dim myArray (1 To 2) As String
myArray (1) = "DataToBeSaved"
myArray (2) = "DataToBeSaved"
Set db = sess.currentdatabase
Set view = db.GetView("($Inbox)" )
Set coll = view.GetAllDocumentsByKey(myArray,False)
Set doc = coll.GetFirstDocument()
While Not doc Is Nothing
Set rtitem = doc.GetFirstItem("Body")
If Not rtitem Is Nothing Then
If ( rtitem.Type = RICHTEXT ) Then
If Isempty(rtitem.EmbeddedObjects) = False Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
filename = Evaluate("@AttachmentNames", doc)
'For i = 0 To Ubound(filename)
If (filename(i)="query nas.txt") Then
strname = Replace(filename(i), "/", "-")
On Error DIR_NOT_FOUND Resume Next
Call o.ExtractFile( "\\rflenas1.rfle.roto-frank.com\RFIB\LOTUSPROVA\" & strname )
End If
'Next
doc.fieldname = ""
Call doc.Save( True, True )
End If
End Forall
End If
End If
End If
Set doc = coll.getnextdocument(doc)
Wend
结束子
【问题讨论】:
-
您需要为 doc.Subject(0) = "SUBJECT YOU WANT TO FIND" 添加检查。
-
所以我不必使用 GetAllDocumentsByKey?那么,关键是什么?
-
doc.Subject 在我的 Lotus 中不存在
-
在
While doc is not Nothing之后添加if doc.subject(0) = "SUBJECT TO MATCH" then,然后将end if放在set doc = coll.getnextdocument(doc)之前。解释:doc.subject(0)表示获取文档中主题字段的字符串值 -
你在我的回答中使用了循环吗?这将查看每个文档。您的原始循环仅查看集合中的文档,这可能不是您想要的。
标签: lotus-notes lotus-domino lotusscript