Problema con embedobject

Hola como estas espero y me ayudes.
Mi problema es el siduiente, tengo esta código:
Set rtitem = Doc.CREATERICHTEXTITEM("BODY")
Set object = rtitem.EmbedObject (EMBED_ATTACHMENT, "", "c:\File.txt")
Call doc.save (True, True)
Cando se ejecuta el script, este busca el archivo en la pc donde corre el servidor y no busca en la maquina local; ¿Cómo hago para que cuando se ejecute el script el busque este archivo en la maquina local?
Gracias...
Respuesta
1
Yo siempre cojo la base de datos de la sesión actual
y a partir de vistas selecciono documentos, hay más maneras pero esta es la típica. Prueba de hacerlo con una rutina similar a esta ( en lo que se refiere al documento)
Dim s As New notessession
Dim db As notesdatabase
Dim view As NotesView
Dim doc As NotesDocument
Set db=s.currentdatabase
Set view = db.GetView( "vistaPreEsdeveniments" )
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing )
doc.Form="Esdeveniment"
Call doc.save(True,False)
Set doc = view.GetFirstDocument()
Wend
En la aplicación que estoy haciendo el usuario busca a través de un explorador el archivo vía web y la ruta se almacena en una caja de texto, luego ejecuto el agente y hago el código que colocaste tu (el del ejemplo de notes) y se ejecuta bien pero lo que pasa es que busca el archivo en el servidor más no en la maquina local del usuario. Por lo tanto cuando el agente busca el archivo en el servidor no lo encuatra (por supuesto).
He estado leyendo y creo que por esa forma no lo voy a poder hacer. Ahora si sabes como se attachan archivos a través de fórmula seria bueno
Gracias...
Gracias por tu respuesta pero creo que no me entendiste o no te entendí yo.
La cuestión es que necesito attachar documentos sean cual sea(word, excel, power point, etc) vía web; entonces yo selecciono el archivo y su ruta es por ejemplo c:\tem\archivo.doc pero el agente cuando se ejecuta busca este archivo es en el srevidor y no en el pc local. Entonces: ¿Cómo hago para que busque en el pc local?
Por lo que he visto en los ejemplos del método, se enlaza el documento de la máquina donde se ejecuta el agente:
This script creates a new document in the current database, creates a new rich-text item called Body on the document, and attaches the file JIM.SAM to the Body. It then sets the value of the Form and Subject items on the document and saves it.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Body" )
Set object = rtitem.EmbedObject _
( EMBED_ATTACHMENT, "", "c:\jim.sam")
doc.Form = "Main Topic"
doc.Subject = "Here's Jim's document, as an attachment"
Call doc.Save( True, True )
Me tendrías que decir que hace concretamente tu agente, ya que enlazar ficheros de esta manera seguro que tiene otro tipo de soluciones, por ejemplo, que el usuario por web introduzca el archivo, recuperas con el agente dicho archivo y lo anexas a los documentos nuevos que crees con los agentes.
Por lo que veo, siempre se ejecuta en la URL del servidor.
Yo ahora mismo desconozco lo que quiere hacer tu agente, pero seguro que tienes otra solución haciéndolo de otra manera. Ya que el uso que quieres darle tu podría llegar a ser una especie de virus al "espiar" documentos locales sin permiso ;)
Por lo que veo tu problema es mucho más simple.
Tienes que introducir un control de carga de archivos.
Crear --> Elemento incrustado
Después crear una acción que se llame guardar documento
que ejecute @Command([FileSave])
Y el archivo se guardará automáticamente desde la máquina del usuario.
Después ejecuta todos los agentes que quieras

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas