While Not doc Is Nothing and doc save



为什么当文档保存时,这段代码只运行一次文档,帮我修复它。非常感谢你的帮助

代码:

While Not (doc Is Nothing)
If doc.count(0) = 1 Then
For l%=1 To 30
num$=Trim(CStr(l%))

If Trim(doc.getitemvalue("item"+num$)(0))="" Then Exit For

i1=Format$(Now,"YYYYMMDD")
i2=Format$(Now,"hhmmss")
i3=Trim(doc.phone(0))
i4=Trim(doc.getitemvalue("item"+num$)(0))
print i1+i2+i3+i4

Next    
End If
doc.count = 2
doc.Save( True, True )
Set doc=v.getnextdocument(doc)
Wend

打印:

2022102433phone1item1
2022102433phone1item2
2022102433phone1item3
代码:

While Not (doc Is Nothing)
If doc.count(0) = 1 Then
For l%=1 To 30
num$=Trim(CStr(l%))
If Trim(doc.getitemvalue("item"+num$)(0))="" Then Exit For

i1=Format$(Now,"YYYYMMDD")
i2=Format$(Now,"hhmmss")
i3=Trim(doc.phone(0))
i4=Trim(doc.getitemvalue("item"+num$)(0))
print i1+i2+i3+i4

Next    
End If
Set doc=v.getnextdocument(doc)
Wend

打印:

2022102433phone1item1
2022102433phone1item2
2022102433phone1item3
2022102433phone2item1
2022102433phone2item2
2022102433phone2item3
2022102433phone3item1
2022102433phone3item2
2022102433phone3item3

检查视图选择公式。它是否依赖于场CCount。如果保存更改了文档上的值,则可能会从视图中删除文档。如果是这种情况,将代码更改为:

Dim doc2 As NotesDocument
While Not (doc Is Nothing)
If doc.count(0) = 1 Then
For l%=1 To 30
num$=Trim(CStr(l%))

If Trim(doc.getitemvalue("item"+num$)(0))="" Then 
Exit For
End If

i1=Format$(Now,"YYYYMMDD")
i2=Format$(Now,"hhmmss")
i3=Trim(doc.phone(0))
i4=Trim(doc.getitemvalue("item"+num$)(0))
Print i1+i2+i3+i4

Next    
End If
doc.ccount = 2
Set doc2 = v.getnextDocument(doc)
Call doc.Save( True, True )
Set doc=doc2
Wend

最新更新