Dos preguntas de archivos

Hola expertos buen día... Tengo un problemón... Necesito guardar muchas datawindows distintas en un solo archivo de excel, ya encontré un código que lo hace con un objeto ole, pero quiero que las guarde como una tabal (html) o mejor dicho que las guarde con el mismo formato de la datawindow igualita... Es urgente para generar unos archivos de reportes... Por que después los tengo que pasar a pdf pero eso ya se como se hace...
Y la siguiente pregunta es si me podrían orientar un poco sobre los objetos ole ya que nunca los he utilizado, algo rapido y fácil de entender espero su respuesta gracias por la atención...

1 respuesta

Respuesta
1
Si lo que quieres es guardar como html entonces creas una función así:
return type                function name                       
integer                        f_guardar_como
argument type             argument name
datawindow                 adw_actual
int li_value
string ls_docname, ls_named
li_value = GetFileSaveName("Guardar como", &
ls_docname, ls_named, "Archivos HTM (*.HTM),*.HTM" )
IF li_value = 1 THEN
CHOOSE CASE upper(right(ls_named,3))
CASE 'HTM'
adw_actual.saveas(ls_named,HTMLTable!,TRUE)
END CHOOSE
END IF
RETURN li_value
/////////////////////
//y para correr esta funcion la sintaxis es la siguiente
//ejemplo en tu evento ue_save_as pones
/////////f_guardar_como(dw_1)
//y en el boton u opcion del menu pones
//parentwindow.triggerevent('ue_save_as')
Eso es todo no te olvides de cerrar la pregunta.
¿Primero qué nada gracias por contestarme... unas preguntas... con este código puedo estar guardando diferentes dw en UN SOLO ARCHIVO?
¿Otra no del evento ue_save_as no le entiendo donde esta ese evento?
Claro con eso guardas un dw ahora si quieres guardar varios entonces mandalos a un dw composite y podrás guardarlos en un solo archivo ahora el ue_save_as es un evento a nivel de usuario, tu lo puedes crear en el window donde esta tu ventana creas un evento así en la propiedad even list donde están todos los eventos del window como el open, close, etc ahí le das clic derecho add y te saldrá una ventana donde se cren los evenots de usuario ahí pones así.
return type                        event name
(None) ue_save_as
y en el script pones
f_guardar_como(dw_1) //la funcion que te da para guardar a html y el dw a guardarlo
ahoa ese evento lo tienes que mandar a tu opcion de menu por ejemplo si en tu menu tienes guardar como entonces en esa opcion pones
parentwindow. Triggerevent('ue_save_as')//dispara el evento del la ventana que esta abierta si tienes un window y en el un dw entonces te lo guardara claro el window tiene que tener el evento creado ue_save_as.
Normalmente se utiliza un padre y de ahí lo heredas entonces así todos los windows hijos heredan los eventos del padre y no tendrás que hacer cada código o cada evento en cada ventana espero haberte sacado de la duda cualquier cosa solo pregunta.
¿Mira haber si me dio a entender... tengo un proceso que genera diferentes documentos en una misma dw el formato es el mismo pero hay campos que varían entonces lo tengo con un cursor de sql para ir recorriendo los campos de mi bd y estar los ingresando a la dw entonces imprimo y después se repite el ciclo lo que quiero es que cada documento se vaya guardando en un archivo de excel pero con el mismo formato de la datawindow como ya muy amablemente me contestaste anteriormente... entonces seria el proceso retrieve() ->imprimo->guardo->repetimos el proceso n veces... ojala me puedas ayudar... me imagino que con composite son diferentes datawindows? U oriéntame por que ando medio perdido
Aya claro doc si es así entonces mira cada ves que corra el ciclo entonces lo mandas a excel con el dato que ya te pase en otra pregunta con la librería que te alcance pero eso si cada ves que mandes a excel el archivo de excel lo tienes que copiar y mandarlo a otra carpeta ya que cuando mandes a excel el dw con otros datos lo chamcara .
Con composite son para otros dw juntarlos en uno e imprimir o mandar a excel en un solo file bueno es es todo .
Pf. Cierra la pregunta-
¿Ok mira nada más por ultimo... la librería que me mandaste en el link de la otra pregunta
esta en power 11 y yo tengo power 6 como le hago si funciona o no? O si no como la cambio de version
?
doc ahí esta para la version que desees desde la 5 hasta la 11 solo desplieuga el combo nomas .`y veras..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas