Object variable not set

Hola dtorrado:
Pues mira solicitando tu ayuda, lo que pasa es que tengo un código de Lotus Script y lo que hace es en el evento QueryClose verifica si existe algún archivo para poner un estatus de tramitado pero si lo ejecuto funciona perfectamente el problema es cuando le doy nuevo documento pero ya no quiero hacer nada y me quiero salir me envía el mensaje de que "Object variable not set", y me fije que es cuando pasa por rtnav - entonces no se si me pudieras ayudar para que no me envíe ese mensaje, te envío el código que tengo
Gracias
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDataBase
Dim ws As New NotesUIWorkspace
Dim body As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtrange As NotesRichTextRange
Set body = note.GetFirstItem("Doc_Comprobación")
Set rtnav = body.CreateNavigator
Set rtrange = body.CreateRange
Set docMinuta = Source
Set note = docMinuta.document
Call docMinuta.Save
flag= rtnav.FindFirstElement(RTELEM_TYPE_FILEATTACHMENT)
If flag Then
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set docnotes = uidoc.Document
docnotes.Estatus= "Tramitado"
Call docMinuta.Save
Call uidoc.Save
Else
End If
End Sub

1 respuesta

Respuesta
1
Este tipo de acciones suelen programarse en el QuerySave, de manera que si el usuario no graba el documento, no se realiza ninguna acción, en este caso estás realizando cambios en un documento que el usuario ha descartado (en el caso de nuevo doc).
Si trasladas este código al QuerySave supongo que no tendrás estos problemas.
Lo mejor en estos casos es utilizar el debug e ir inspeccionando las variables locales a ver cuál de ellas no está definida.
Lo que observo en tu código, es que en la línea:
Set body = note.GetFirstItem("Doc_Comprobación")
Aún no has definido el objeto note, inspecciona las variables "note" y "body" antes de que ejecute la línea del error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas