Domino 9 und frühere Versionen > Entwicklung
Feldänderung für ausgewählte Dokumente
willi butz:
Hallo,
alle markierten Dokumente einer Ansicht sollen einen Text in ein Feld geschrieben bekommen. Im Agent ist eingestellt "ausgewählte Dokumente", aber das Script, welches sich dahinter verbirgt, spricht nur ein Dokument an. Wie kann ich das Script umstellen, damit es alle markierten Dokumente bearbeitet:
Gruß Willi
Sub Initialize
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim user2 As String
Dim user3 As String
Dim zeit As String
Dim namen As String
Dim rtitem As Variant
Set uidoc = workspace.CurrentDocument
Set uidoc = workspace.EditDocument( True )
user2 = "Überfällig seit "
user3 = uidoc.FieldGetText( "Zeit33" )
namen = uidoc.FieldGetText( "Leser99" )
zeit = Now
Call uidoc.FieldAppendText("zusammen", "-> " & user2 & user3 & " Tagen. Info am " & zeit & " (" & namen & ") " & Chr$(010))
End Sub
Axel:
Ganz grob kann das so aussehen.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
If collection.Count = 0 Then Exit Sub
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
'Hier werden die Felder gefüllt
doc.NamedesFeldes = Wert
...
'Speichern des Dokumentes
Call doc.Save(True, False)
Set doc = collection.GetNextDocument(doc)
Wend
Axel
willi butz:
Hallo Axel,
danke für deine schnelle Antwort.
Ich habe das Script mal angepaßt, es klappt aber nicht richtig.
Es schreibt nach wie vor nur in ein Dokument.
Gruß Willi
ascabg:
Hallo,
Kannst Du auch mal Deinen "neuen" Code posten?
Andreas
willi butz:
Das wäre die Änderung
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim user2 As String
Dim user3 As String
Dim zeit As Variant
Dim namen As String
Dim rtitem As Variant
user2 = "Überfällig seit "
zeit = Now
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
If collection.Count = 0 Then Exit Sub
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
'Hier werden die Felder gefüllt
doc.zusammen = user2
'Speichern des Dokumentes
Call doc.Save(True, False)
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln