Lotus 脚本在 GetAllDocumentsByKey 的每个文档中设置值(唯一编号)

Lotus scripts Set value(Unique Number) in each document from GetAllDocumentsByKey

从我下面的代码中尝试从 "GetAllDocumentbyKey" 循环并设置每个文档的唯一编号以在文件夹视图中显示,但从我的代码中它不起作用。 我该如何解决这个问题?

Dim defect As Variant
defect = uidoc.FieldGetText("DefectMode")
keys( 0 ) =defect
Dim PartNo As Variant
partNo = uidoc.FieldGetText("PartNo")
keys( 1 ) = partNo

Set view = db.GetView("EmbedView2" )

Set dc = view.GetAllDocumentsByKey(keys,False)
Call dc.PutAllInFolder("EmbedFolder")

Do Until dc Is Nothing
    call uidoc.FieldSetText("UniqueNo","number") // this code I try to set unique number to each document by number that's I plan to increase 1 , I have to set in "UniqueNo" Fieled
Loop

好的...您的代码中缺少很大一部分。

uidoc 是当前打开的文档,如果我猜对了,它有一个名为 "EmbedFolder" 的嵌入式视图。你要修改的文档都属于一个特殊的DefectMode和一个特殊的PartNo(当前打开文档的那个)

我怀疑你想要的是否有意义,但我不想深入探讨。

要使您的代码正常工作,您需要循环遍历文档集合并分别设置每个文档值。这看起来像这样:

Dim intNumber as Integer
Dim doc as NotesDocument
intNumber = 1
Set doc = dc.GetFirstDocument()
Do until doc is Nothing
  Call doc.ReplaceItemValue( "UniqueNo" , intNumber )
  Call doc.Save( True, True, True )
  Set doc = dc.GetNextDocument( doc )
Wend