Domino 9 und frühere Versionen > Entwicklung

Feldänderung für ausgewählte Dokumente

(1/3) > >>

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