[RESUELTO] Valor de una constante mediante un diálogo.
-
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
[RESUELTO] Valor de una constante mediante un diálogo.
Hola amigos:
Como indiqué en un hilo anterior, he armado una plantilla de writer, la cual luego de cargar una serie de datos exporto como archivo .pdf en una ruta especificada en el valor de una constante que se encuentra en el Módulo 1.
El tema es que si bien generalmente la ruta donde se guarda el archivo es la misma, podría ser que hubiera que cambiarla y esto implicaría que habría que ingresar al código para cambiar dicha ruta.
Mi idea fue que a través de un botón que llama a un cuadro de diálogo pueda cambiar el valor de esa constante y cambiarla desde allí, la cual quedaría cargada esa información hasta un nuevo cambio. Pero la prueba no funcionó ya que me dice que no es posible realizar esa modificación.
La consulta es ¿Tengo alguna otra posibilidad de cambiar la ruta donde almacenar los sucesivos documentos que voy creando, sin necesidad de hacerlo desde el código???
Si no encontraba solución se me había ocurrido de registrarlo en un campo de usuario invisible para la impresión, y cambiarlo cuando haga falta desde el diálogo, pero me gustaria que no se viera desde la imagen de trabajo.
Desde ya muchas gracias a cualquier sugerencia que pudieran darme.
Un saludo desde Buenos Aires, Argentina.
Chelo2
Como indiqué en un hilo anterior, he armado una plantilla de writer, la cual luego de cargar una serie de datos exporto como archivo .pdf en una ruta especificada en el valor de una constante que se encuentra en el Módulo 1.
El tema es que si bien generalmente la ruta donde se guarda el archivo es la misma, podría ser que hubiera que cambiarla y esto implicaría que habría que ingresar al código para cambiar dicha ruta.
Mi idea fue que a través de un botón que llama a un cuadro de diálogo pueda cambiar el valor de esa constante y cambiarla desde allí, la cual quedaría cargada esa información hasta un nuevo cambio. Pero la prueba no funcionó ya que me dice que no es posible realizar esa modificación.
La consulta es ¿Tengo alguna otra posibilidad de cambiar la ruta donde almacenar los sucesivos documentos que voy creando, sin necesidad de hacerlo desde el código???
Si no encontraba solución se me había ocurrido de registrarlo en un campo de usuario invisible para la impresión, y cambiarlo cuando haga falta desde el diálogo, pero me gustaria que no se viera desde la imagen de trabajo.
Desde ya muchas gracias a cualquier sugerencia que pudieran darme.
Un saludo desde Buenos Aires, Argentina.
Chelo2
Última edición por Chelo2 el Vie Ago 14, 2015 4:42 pm, editado 1 vez en total.
OpenOffice 4.1.3 en Windows 7
Re: Valor de una constante mediante un diálogo.
Está muy raro lo que solicitas, de entrada parece facil de hacer, a grandes rasgos con lo explicado previamente debería bastar con algo similar a:
Saludos, Federico.
Código: Seleccionar todo
Sub Main
ruta = InputBox("Teclee la ruta en donde se guardará el archivo", "Ruta Archivo")
MsgBox "Has elegido " & ruta
End Sub
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Valor de una constante mediante un diálogo.
Siempre puedes usar un simple archivo de texto para guardar este valor o cualquier otro necesario, se me ocurre también que puedes usar el registro de OpenOffice para esto, con una extensión es simple, pero no se si estos valores puedan establecer desde una simple macro, hago unas pruebas y te cuento...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Valor de una constante mediante un diálogo.
Efectivamente Fede eso funcionaría, pero me obligaría a cargar la ruta cada vez que se usa y no es la idea.
Siempre va a ser una misma ruta, por eso lo cargaba en una Constante, para que cada vez que se abra y cierre el archivo la información no se pierda. Y muy excepcionalmente debería cambiarse, pero como los usuarios de la plantilla no tendrían conocimiento para modificar el código, o menos que los mios.. jeje, es que queria que tuvieran la oportunidad de que en caso de necesitarlo pudieran cambiarlo de manera sencilla.
De haberse tratado de Calc, yo guardaba la ruta en un celda de una hoja oculta, la macro leería la ruta de esa celda y podría modificarlo a través del diálogo sin problemas, pero tratándose de Writer, y siendo mis primeras pruebas con macros no se me ocurría mucho como hacerlo.
Mauricio, con respecto a lo que me comentás de hacerlo con un archivo de texto, si tenés alguna sugerencia de como sería te lo agradecería, así sigo probando. Estaria bueno.
Si lo prefieren envío el archivo del cual les hablo. Sus datos son ficticios. Sólo no marquen en el diálogo la casilla de verificación conectar a la base para que no les de error.
Un saludo.
Chelo2
Siempre va a ser una misma ruta, por eso lo cargaba en una Constante, para que cada vez que se abra y cierre el archivo la información no se pierda. Y muy excepcionalmente debería cambiarse, pero como los usuarios de la plantilla no tendrían conocimiento para modificar el código, o menos que los mios.. jeje, es que queria que tuvieran la oportunidad de que en caso de necesitarlo pudieran cambiarlo de manera sencilla.
De haberse tratado de Calc, yo guardaba la ruta en un celda de una hoja oculta, la macro leería la ruta de esa celda y podría modificarlo a través del diálogo sin problemas, pero tratándose de Writer, y siendo mis primeras pruebas con macros no se me ocurría mucho como hacerlo.
Mauricio, con respecto a lo que me comentás de hacerlo con un archivo de texto, si tenés alguna sugerencia de como sería te lo agradecería, así sigo probando. Estaria bueno.
Si lo prefieren envío el archivo del cual les hablo. Sus datos son ficticios. Sólo no marquen en el diálogo la casilla de verificación conectar a la base para que no les de error.
Un saludo.
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: Valor de una constante mediante un diálogo.
Si, siempre es bueno probar en el archivo del usuario...Chelo2 escribió:Si lo prefieren envío el archivo del cual les hablo. Sus datos son ficticios. Sólo no marquen en el diálogo la casilla de verificación conectar a la base para que no les de error.
Deberías validar este error...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Valor de una constante mediante un diálogo.
Perdón. No me di cuenta que el archivo no se había adjuntado. Ahí va.
Chelo2
Chelo2
- Adjuntos
-
- Nota Interna Tipo4.ott.7z
- (30.6 KiB) Descargado 131 veces
OpenOffice 4.1.3 en Windows 7
Re: Valor de una constante mediante un diálogo.
No necesariamente, en alguna parte de tu diálogo podríamos agregar un boton de opción que diga "Cambiar Ruta" y solo cuando se pincha ese botón se podría cambiar la ruta.Chelo2 escribió:Efectivamente Fede eso funcionaría, pero me obligaría a cargar la ruta cada vez que se usa y no es la idea.
Si tengo una ruta fija de archivo y en alguna ocasión necesito cambiarla entonces en algun punto del codigo debo decirle en donde ¿o no?
Digo ..... no es lo ideal pero sería lo mas rapido de hacer por el momento
Saludos, Federrico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
-
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Valor de una constante mediante un diálogo.
Pero justamente es lo que quiero hacer. En mi archivo la ruta predeterminada está almacenada en "Global Const Ruta_Archivo As String = "\\Ws34400009\d\ARCHIVOS_SER" que está en el módulo 1.
Si quiero cambiarla mediante un dialogo. En mi archivo ´hay un botón llamado "Modificación de parámetros", que al abrise me lee la ruta de la constante que menciono y la muestra en el cuadro un texto para editarla. Luego si la modifico la quiero actualizar, pero no me la deja almacenar en esa Constante que menciono. En el archivo que mandé asignado al botón "Cargar Ruta" :
Sub Guarda_Ruta
oControl = oDialogo.Model.TF_1.Text
'Ruta_Archivo = oControl.Text
End Sub
desafecté con un apostrofe el reglón que supuestamene cargaba el valor en "Ruta_Archivo" porque me daba error.
No entiendo en el ejemplo que me das donde almacenaría el cambio, porque si lo pongo en una variable común, cuando se cierra el archivo se borra y ya no quedaría ruta alguna.
La otra que se me está ocurriendo ahora que estoy escribiendo es con una variable donde cargaría la ruta si fuera cambiada, entonces el rutina leería primero esa variable. Si la misma está vacia toma el valor de la constante, sino el de la variable que contiene la modificación. De todas maneras, la constante simpre quedaría con el valor original y solo podría cambiarla ingresando al código.
Perdón por la extención.
Un saludo.
Chelo2
Si quiero cambiarla mediante un dialogo. En mi archivo ´hay un botón llamado "Modificación de parámetros", que al abrise me lee la ruta de la constante que menciono y la muestra en el cuadro un texto para editarla. Luego si la modifico la quiero actualizar, pero no me la deja almacenar en esa Constante que menciono. En el archivo que mandé asignado al botón "Cargar Ruta" :
Sub Guarda_Ruta
oControl = oDialogo.Model.TF_1.Text
'Ruta_Archivo = oControl.Text
End Sub
desafecté con un apostrofe el reglón que supuestamene cargaba el valor en "Ruta_Archivo" porque me daba error.
No entiendo en el ejemplo que me das donde almacenaría el cambio, porque si lo pongo en una variable común, cuando se cierra el archivo se borra y ya no quedaría ruta alguna.
La otra que se me está ocurriendo ahora que estoy escribiendo es con una variable donde cargaría la ruta si fuera cambiada, entonces el rutina leería primero esa variable. Si la misma está vacia toma el valor de la constante, sino el de la variable que contiene la modificación. De todas maneras, la constante simpre quedaría con el valor original y solo podría cambiarla ingresando al código.
Perdón por la extención.
Un saludo.
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: Valor de una constante mediante un diálogo.
Por eso digo ..... no digo que lo resolveré pero aqui un posible ejemplo:
A) Creamos con el bloc de notas en una ruta fija (por ejemplo C:\Users\Federico\Documents\AAAAAAA\) un archivo de texto al que llamaremos constante.txt
dentro de este archivo tendremos como dato una sola linea muy similar a: C:\Users\Federico\Documents\
que digamos sería la constante original
Despues:
Analiza bien el codigo y hagamos pruebas, veremos que la constante siempre está ahi, aún si se apaga la maquina.
Espero se capte la idea.
Saludos, Federico.
A) Creamos con el bloc de notas en una ruta fija (por ejemplo C:\Users\Federico\Documents\AAAAAAA\) un archivo de texto al que llamaremos constante.txt
dentro de este archivo tendremos como dato una sola linea muy similar a: C:\Users\Federico\Documents\
que digamos sería la constante original
Despues:
Código: Seleccionar todo
Sub RutaActual
Open "C:\Users\Federico\Documents\AAAAAAA\constante.txt" For Input As #1
Line Input #1, sLinea
Msgbox sLinea
Close #1
End Sub
Sub NuevaRuta
ruta = InputBox("Teclee la ruta en donde se guardará el archivo", "Ruta Archivo")
Open "C:\Users\Federico\Documents\AAAAAAA\constante.txt" For Output As #1
Print #1, ruta
Close #1
End Sub
Espero se capte la idea.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
-
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Valor de una constante mediante un diálogo.
Siiiiiii... excelentee Fedeee.. anduvo perfecto!!
Perdón por la demora en contestar pero no podía probarlo, porque me salían otros errores po otros temas. Pero estó finalmente funcionó de maravillas.
No saben lo que voy aprendiendo en este foro. Pienso que cuando empecé creía que era chino y jamás iba a poder generar nada.. ya que solo soy aficionado a este tema de las macros, pero entre el libro d Mauricio, la wiki, el blog de SLV y las respuestas a los otros usuarios y muchoooooo "ensayo y error" he hecho muchas cosas para facilitarme a mis empleados y a mi la tarea de la oficina pública en la que trabajo.
Les doy muchas gracias.. y un saludo cordial desde Buenos Aires, Argentina.
Chelo2
Perdón por la demora en contestar pero no podía probarlo, porque me salían otros errores po otros temas. Pero estó finalmente funcionó de maravillas.
No saben lo que voy aprendiendo en este foro. Pienso que cuando empecé creía que era chino y jamás iba a poder generar nada.. ya que solo soy aficionado a este tema de las macros, pero entre el libro d Mauricio, la wiki, el blog de SLV y las respuestas a los otros usuarios y muchoooooo "ensayo y error" he hecho muchas cosas para facilitarme a mis empleados y a mi la tarea de la oficina pública en la que trabajo.
Les doy muchas gracias.. y un saludo cordial desde Buenos Aires, Argentina.
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: [RESUELTO] Valor de una constante mediante un diálogo.
¡Excelente! que bien que funcionó.
Saludos, Federico.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: [RESUELTO] Valor de una constante mediante un diálogo.
También puedes usar mi extensión para facilitar la programación de macros: EasyDev
después de instalar la usas de la siguiente manera:
Para recuperar:
Si pudieras validarme que funcionan bien estos métodos que acabo de agregar te lo agradeceré mucho...
Saludos
después de instalar la usas de la siguiente manera:
Código: Seleccionar todo
Sub Main
util = createUnoService("org.universolibre.util.EasyDev")
ruta = InputBox("Teclee la ruta en donde se guardará el archivo", "Ruta Archivo")
util.setConfig("RutaArchivo", ruta)
End Sub
Código: Seleccionar todo
Sub Main
util = createUnoService("org.universolibre.util.EasyDev")
ruta = util.getConfig("RutaArchivo")
util.msgbox(ruta)
End Sub
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Hola Mauricio, con LibreOffice 4.4.5.2 hay inconveniente:
Se me está formando la idea de que "entre más conozco a LibreOffice más quiero a mi OpenOffice"
Saludos, Federico.
Se me está formando la idea de que "entre más conozco a LibreOffice más quiero a mi OpenOffice"
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Ya vi el error, me falto agregar unos archivos... lo arreglo hoy mismo...
Para que pedir al usuario que teclee una ruta, cuando se puede seleccionar:
Editado: Corregido, si puedes volver a probar, gracias... |
Código: Seleccionar todo
util = createUnoService("org.universolibre.util.EasyDev")
ruta = util.getFolder("")
util.setConfig("RutaArchivo", ruta)
ruta = util.getConfig("RutaArchivo")
util.msgbox(ruta)
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Parece que ahora no me deja instalar la extensión:
¿Será porque la intenté instalar en la versión 5?
Saludos, Federico.
¿Será porque la intenté instalar en la versión 5?
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Si, perdon, olvide mencionar que solo funciona en LibreOffice Estable, tengo que agregarle esta restricción a la extensión... LibO 5 esta muy inestable...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Ya vi otro problema, asegurate de que la extensión no se renombre, mira como el navegador le agrega (3) al final por que ya tienes otras descargas, borra todas las que tengas y deja solo la ultima...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Del codigo recuperar funciona bien si la ultima linea es:
Código: Seleccionar todo
msgbox(ruta)
Código: Seleccionar todo
util.msgbox(ruta)
Si, ya funciona perfecto super
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: [RESUELTO] Valor de una constante mediante un diálogo.
Excelente...
Por favor, cualquier nuevo comentario con esta extensión, favor de verlo por acá: https://forum.openoffice.org/es/forum/v ... 36&t=11236
Gracias
Por favor, cualquier nuevo comentario con esta extensión, favor de verlo por acá: https://forum.openoffice.org/es/forum/v ... 36&t=11236
Gracias
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro