Lotus Notes - Adjuntar a un Rich Text en Script

 
Vista:

Adjuntar a un Rich Text en Script

Publicado por Natalia Gonzalez Reich (1 intervención) el 25/04/2008 04:52:19
Hola gente, tengo un problema hace ya varios dias, estuve consultando muchos foros pero no encuentro respuesta. Tengo que mover un attach en un campo rich text a otro documento, para esto hice un boton que extraiga el attach, pero luego, cuando quiero adjuntarlo al otro documento no pasa nada. No tira error pero tampoco lo adjunta, el codigo para que me adjunte que estoy utilizando es el siguiente:

Dim AdjuntoUno As NotesRichTextItem
Dim AdjuntoDos As NotesRichTextItem

Set AdjuntoUno = doc.GetFirstItem("Adjunto")

If Not AdjuntoUno Is Nothing Then

HayAttach = AdjuntoUno.EmbeddedObjects

If Not Isempty(HayAttach) Then

Set AdjuntoDos = docNuevo.GetFirstItem("Adjunto")
If AdjuntoDos Is Nothing Then
Set AdjuntoDos = docNuevo.CreateRichTextItem("Adjunto")
End If
Forall x In AdjuntoUno.EmbeddedObjects
If (x.Type = EMBED_ATTACHMENT) Then
p=Path + x.name
Call x.ExtractFile (p)
-------> Call AdjuntoDos.embedObject(EMBED_ATTACHMENT, "", p)
Kill p
End If
End Forall

End If

End If

Desde ya muchas gracias por lo que puedan aportar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Adjuntar a un Rich Text en Script

Publicado por frank (13 intervenciones) el 18/05/2008 17:56:21
El camino mas corto es copiar el campo entero con anexos incluidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adjuntar a un Rich Text en Script

Publicado por Zamos (1 intervención) el 11/11/2008 23:58:55
Hola Natalia, yo tenia un problema similar al tuyo, tu codigo me ayudó a establecer una base y conseguir el objetivo buscado.

Mi única observación, es pensar que te falta salvar el documento despues de adjuntar el archivo, algo así como:

Call AdjuntoDos.embedObject(EMBED_ATTACHMENT, "", p)
Call docNuevo.Save(True, True)

Recuerda que para que se refleje el cambio el documento debe estar cerrado o cerrarlo despues de salvar y lo ves hasta que lo vuelves abrir (de manera visual).

Mi adjunto mi código para que compares:

field_AttachMent = "Adjunto"
fileName = "C:archivo.txt"
Set rtItem = doc.GetFirstItem(field_AttachMent)
Call rtItem.EmbedObject(EMBED_ATTACHMENT, "", fileName)
Call doc.Save(True,True)

En este caso yo adjunteun archivo de una ruta especifica, para tu caso si vas a pasar el contenido de un richttext a otro creo que debes usar mejor:

Call notesRichTextItem.AppendRTItem( notesRichTextItem2 )

Ejemplo:

Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtitemA As Variant
Dim rtitemB As Variant
'...set values of docA and docB...
Set rtitemA = docA.GetFirstItem( "Body" )
Set rtitemB = docB.GetFirstItem( "Body" )
If ( rtitemA.Type = RICHTEXT And rtitemB.Type = RICHTEXT ) Then
Call rtitemA.AppendRTItem( rtitemB )
Call rtitemB.Remove
Call docA.Save( False, True )
Call docB.Save( False, True )
End If

Espero te ayude este ejemplo a lo que necesitas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar