Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: vrhsva am 21.03.17 - 16:42:52
-
Hallo zusammen.
Ich habe in einer Ansicht ein Dokument markiert, welches Attachments in unterschiedlichen RichText Feldern hat. Dieses Dokument soll lediglich kopiert und alle Attachments in dem neuen Dokument gelöscht werden. Dafür habe ich in der Ansicht eine Aktion, die mit @command([ToolsRunMacro];"Agent") einen Agenten mit folgendem Code aufruft. (Target: All selected documents)
Option Public
Sub Initialize
Dim ns As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Set db=ns.Currentdatabase
Dim dc As NotesDocumentCollection
Set dc = db.Unprocesseddocuments
If dc.count>1 Then
MessageBox "Bitte nur ein Dokument markieren!",0,"Fehler"
Exit Sub
End If
Dim doc As NotesDocument
Set doc = dc.Getfirstdocument()
Dim newdoc As NotesDocument
While Not doc Is Nothing
Set newdoc=New NotesDocument(db)
Call doc.Copyallitems(newdoc,true)
Call newdoc.save(True,False,True)
If newdoc.HasEmbedded Then
ForAll o In newdoc.Embeddedobjects ' <-------------------- Hier kommt der Fehler
call o.remove
End ForAll
End If
Set doc=Nothing
Wend
End Sub
Leider bekomme ich den Fehler:Type mismatch in method ForAllInit: FROMVAR fount. Unknown expected
Woran mag das liegen?
Grüße
Volker
(Notes 8.5.3)
-
Probier mal
If Isarray (newdoc.EmbeddedObjects) Then
Forall o in ...
End Forall
End If
-
Hallo Peter,
dann geht er gleich zum End If.
Ich habe gerade in der Designerhilfe gelesen, dass notesdocument.embeddedobjects im Gegensatz zu richtextitem.embeddedobjects keine Attachments representiert, sondern nur OLE Objecte. Ich werde das ganze mal über die Richtextitems machen und dann berichten
Grüße
Volker
-
Ich habe es jetzt so gelöst:
Set newdoc=New NotesDocument(db)
Call doc.Copyallitems(newdoc,true)
anhänge= Evaluate("@attachmentnames",newdoc)
Forall o In anhänge
Set neo = newdoc.Getattachment(o)
Call neo.Remove()
End ForAll