Domino 9 und frühere Versionen > ND7: Entwicklung

Massenänderung Script-Problem

(1/7) > >>

gismored:
Hallo zusammen,

würde gerne mehrere Dokumente markieren und diese aktion ausführen:

   Dim session As New NotesSession  
   Dim db As NotesDatabase          
   Dim doc As NotesDocument        
   Dim coll As NotesDocumentCollection  
   Dim feld1 As NotesItem  
   Dim Inhalt As String      
   Dim Feld As String                    
   Dim Inhalt2 As String                        
   Dim Feld2 As String                    
   Dim Inhalt3 As String
   Dim Feld3 As String          
   Set db=Session.CurrentDatabase        
   Set coll=db.UnprocessedDocuments  
   Feld="Lagerort"              
   Inhalt="MSC"            
   Feld2="Status"            
   Inhalt2="im MSC"            
   Feld3="Historie"          
   Inhalt3="wurde geändert von"            
   If coll.count>0 Then                            
      For Count = 1 To coll.Count            
         Set doc=Coll.GetNthDocument(Count)                  
         Set Feld1=doc.GetFirstItem(Feld)
         feld1.values=Inhalt            
         Set Feld1=doc.GetFirstItem(Feld2)
         feld1.values=Inhalt2                            
         Set Feld1=doc.GetFirstItem(Feld3)
         feld1.values=Inhalt3                    
         Call doc.Save (True, False)              
      Next                                
   End If

So lange ich Feld 3 und Inhalt 3 weglasse funktioniert es.
Das Feld Historie ist aber ein Richtext Feld und ich steh vor dem Problem
dass ich immer wieder die Meldung bekommen, objekt variable not set.
Ich finde nicht heraus, wie ich es deklarieren muß, damit es geht.
Könnt ihr mir da weiterhelfen ?

ascabg:
Hallo,

Warum versuchts du nicht mal die Werte direkt in die betreffenden Felder zu schreiben?


--- Code: ---doc.Lagerort = "MSC"
doc.Status = "im MSC"
doc.Historie = "wurde geändert von"

Call doc.Save(True, False)

--- Ende Code ---


Andreas

P.S.:
Eine Historie in dem Sinne ist es aber im Feld "Historie" nicht.
Du ueberschreibst es ja.

gismored:
Stimmt, das ist viel einfacher so.  Danke dir.

Das mit der Historie ist so ne Sache.
So ist es natürtlich keine.

In der Formelsprache war das viel einfacher *grins

Würde gerne den Ist-Wert in eine Variable speichern und dann das Feld mit neuem Text + die Variable wieder speichern mit.

das hab ich schon probiert
h=doc.Getitemvalue("Historie")
und
doc.Historie="Wurde geändert am ..." + h

ascabg:
Hallo,

Schau dir in der Hilfe mal etwas genauer diese Klasse hier an.

NotesRichTextItem


Andreas

gismored:
hallo andreas,

versuche mich mal langsam da dran zu tasten.
erstnmal muß ich wissen was drin ist.
habe hier im forum eine explode funktion gefunden, die mir das mit zeile ausließt.
und wollte mir das in der msgbox anzeigen lassen.

Dim rt As NotesItem
Dim var As String
Set rt = doc.GetFirstItem("Historie")
var = Explode(rt.Text, Chr(13) +Chr(10))

MsgBox var ,MB_OK , Historie

doch er bringt mir immer wieder object variable not set
egal ob ich string oder variant nehme, oder notesitem oder notesrichtextitem.

gruß thomas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln