Exportar a documento.html

Bueno ante todo saludos, quisiera saber como desde una vista al seleccionar documentos corra un agente sobre estos, el cual debe guardarlos como doc1.html, doc2.html, doc3.html ... Así sucesivamente. Me dijeron que haga esto en lotus script:
Dim ie As Variant
Set ie = createObject("InternetExplorer.Application")
ie.visible =True
ie.Navigate "http://www.yahoo.es"
While(IE.busy)
Wend
While(IE.Document.readyState <> "complete")
Wend
ie.Document.execCommand "SaveAs", 0, "c:\temp\doc1.html"
Pero en el ie.Navigate "http://www.yahoo.es"
La dirección ya esta, pero lo que quiero es que tome la dirección del documento seleccionado de la vista y que habrá ese documento seleecionado en el Internet explorer.

1 respuesta

Respuesta
1
He conseguido lo que necesitas.
lo primero que necesitas es tener un campo llamado url de tipo calculado y con la siguiente formula
path:=@ReplaceSubstring(@Subset(@DbName; -1);"\\"; "/");
"http://sksmail/"+path+"/vistaurl/"+@Text(@DocumentUniqueID)+"?opendocument"
Nota1:
"http://sksmail/" pon la ruta de tu servidor
Nota2:
Donde pone vistaurl, pones una vista que tengas tu y que contengan los documentos. Lo normal es que sea el nombre de la misma vista que estás utilizando.
Ahora te creas un agente en lotus script, compartido y que se ejecuta sobre los documentos seleccionados
con el siguiente código.
Sub Initialize
Dim ns As New notessession
Dim ndcol As notesdocumentcollection
Dim nd As notesdocument
Dim ndb As notesdatabase
Set ndb=ns.currentdatabase
Set ndcol=ndb.unprocesseddocuments
Set nd=ndcol.getfirstdocument
Dim ie As Variant
a=0
For i =1 To ndcol.count
Print Cstr(ndcol.count)
Set ie = createObject("InternetExplorer.Application")
a=a+1
ie.visible =True
ie.Navigate nd.url(0)
While(IE.busy)
Wend
While(IE.Document.readyState <> "complete")
Wend
ie.Document.execCommand "SaveAs", 0, "c:\doc"+a+".html"
Set nd=ndcol.getnextdocument(nd)
Next
End Sub
Nota: a va aumentando pero también podrías utilizar el campo del formulario que describiera el documento, simplemente tendrías que quitar la a en todos los sitios y cambiar la siguiente linea
ie. Document.execCommand "SaveAs", 0, "c:\doc"+a+".html"
Por
ie.Document.execCommand "SaveAs", 0, "c:\doc"+nd.nombrecampo(0)+".html"
De todas formas lo voy a publicar en mi web, puesto que creo que es interesante tenerlo
me sale en el navegador esto : http:///
he puesto :
path:=@ReplaceSubstring(@Subset(@DbName; -1);"\\"; "/");
"http://miservidor/"+path+"/mivista/"+@Text(@DocumentUniqueID)+"?opendocument"
Esta par me sale ok pero
y esto:
Sub Initialize
Dim ns As New notessession
Dim ndcol As notesdocumentcollection
Dim nd As notesdocument
Dim ndb As notesdatabase
Set ndb=ns.currentdatabase
Set ndcol=ndb.unprocesseddocuments
Set nd=ndcol.getfirstdocument
Dim ie As Variant
a=0
For i =1 To ndcol.count
Print Cstr(ndcol.count)
Set ie = createObject("InternetExplorer.Application")
a=a+1
ie.visible =True
ie.Navigate nd.url(0)
While(IE.busy)
Wend
While(IE.Document.readyState <> "complete")
Wend
ie.Document.execCommand "SaveAs", 0, "c:\doc"+a+".html"
Set nd=ndcol.getnextdocument(nd)
Next
End Sub
Pero me sale : "http:///" en el navegador que puede ser, por favor ayudame, no me funciona please... Gracias
Bueno como en mi servidor no me sale lo que usted indico (es lotus 5.0.3), no si pudiera ayudarme con al más simple que guarde los documentos pero en desorden osea que no sea consecutivamente como el anterior, solo al seleccionar el documento que quiero me lo abra en el IE, un favor . Gracias
¿Al campo del formulario le has llamado url y es calculado?
Porque tiene pinta de que no te coge el valor del campo en la linea ie. Navigate nd. Url(0)
.
Abre el depurador de lotus script y mira el valor de nd. Url cuando llegues a esa linea
Bueno ahora lo probé con un formulario nuevo que cree, con datos nuevos y documentos nuevos y si me funciono perfectamente, pero yo ya tengo una base de datos llena con formularios y documentos llenados y ahí quiero aplicarlo pero no funciona cual crees que puede ser la falla (tu también lo probaste en todo nuevo o en documentos ya existentes). Espero su respuesta . Gracias.
Eso tiene pinta de ser un problema lógico de refrescado. Entiendo que si editas y guardas un documento, te funcionará seguramente.
Necesitas refrescar los documentos.
Te puedes crear un agente, compartido, que se ejecute una sola ver como @command....
Y pones como fórmula
@command([toolsrefreshalldocs]);@all
Esto te refrescará todos los documentos, con lo cual el campo url se actualizará por que creo que ese es tu problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas