Hallo,
trotz aller Suche hier im Forum und auch in der Designer-Hilfe finde ich keinen Hinweis, warum bzw. unter welchen Umständen "EmbeddedObjects" in der doc- bzw. Item-Klasse nicht funktionert. Es spielt dabei auch keine Rolle, wie das Item definiert wird, ob als NotesItem, RichtextItem oder Variant, das Attachment bleibt versteckt. Dabei will ich es nur von einem Frontend-Dokument in ein anderes Backend-Dokument mit einer anderen Form (Archiv) kopieren.
Einzig CopyItemToDocument funktioniert, allerdings wird das Attachment nicht in das bezeichnete Feld, sondern unten ans Dokument geklebt. Und das ist für die Anwender "unschön", vor allem wenn das Attachment vom Archiv-Backend zurück geholt wird.
Hier der Code, vielleicht kann mir jemand weiterhelfen. Die ersten beiden IF-Abfragen liefern true, d.h. das
Dokument hat Embedded Objects und das
Feld ist ein Richtext-Feld. Das Objects-Array dagegen ist leer. Im Debugger wird es auch so angezeigt, und auch dort ist EmbeddedObjects leer, für HasEmbedded wird der Wert True zurück geliefert.
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim doc As NotesDocument
Dim childdoc as NotesDocument
Dim rtitem As NotesRichTextItem
Set doc = session.CurrentDatabase.UnprocessedDocuments.GetFirstDocument
Set childdoc = session.CurrentDatabase.GetDocumentByUNID ( doc.KSDocUnID(0) )
Set rtitem = New NotesRichTextItem ( doc, "Attachment" )
If doc.HasEmbedded Then
If ( rtitem.Type = RICHTEXT ) Then
If Isarray(rtitem.EmbeddedObjects) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_OBJECT ) Then
objectName = o.Name
End If
End Forall
End If
End If
End If
Es spielt auch keine Rolle, ob das Dokument im Workspace als UIDoc geöffnet ist oder ob man es als Backend anfasst, bei dem das Frontend geschlossen ist.
Ich weiß, dass hier schon einige Male das Problem angesprochen wurde, aber ich konnte keine Lösungsidee finden.
Danke schonmal für Eure Hilfe und viele Grüße!