Página 1 de 1

[RESUELTO] Botón para abrir url contenida en campo de formul

Publicado: Mié Nov 09, 2016 1:04 pm
por Fer123
Buenos días, soy bastante nuevo en el uso de Base de OpenOffice y estoy un poco atascado en este tema.
Necesito crear un botón que active una macro que abra una nueva ventana del navegador de internet predeterminado del sistema con la url contenida en un campo del formulario activo.

¿Alguien puede echarme una mano en este tema?

Gracias de antemano.

Re: Botón para abrir url contenida en campo de formulario

Publicado: Mié Nov 09, 2016 3:28 pm
por mauricio
Creo recordar que tu pregunta se ha respondido varias veces... ¿ya realizaste una busqueda?

Saludos

Re: Botón para abrir url contenida en campo de formulario

Publicado: Mié Nov 09, 2016 4:49 pm
por Fer123
He encontrado información respecto a como abrir formularios, informes y archivos con un nombre contenido en uno de los campos de formulario, pero concretamente lo que busco no.
He probado intentando adaptar una macro de un hilo en el que se hablaba de algo parecedido:

Código: Seleccionar todo

sub Abrirweb (Evento)
Dim oForm As Object
Dim sURL As String
Dim Ruta as String

oForm = Evento.Source.Model.Parent
sURL = oForm.Columns.getByName("txtWeb").getString
Ruta= sURL
End Sub
Pero al ejecutarlo me da el siguiente error:

Error en tiempo de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.container.NoSuchElementException
Message: No hay un elementeo llamado 'txtWeb'..

txtWeb es el nombre del campo donde está la url que quiero abrir.... por ejemplo "www.prueba.com"

Si cambio en el codigo ("txtWeb"), que es el nombre del campo del formulario, por ("web") que es el campo de la tabla donde esta contenido el dato, el error no aparece pero no se abre el explorador.

Re: Botón para abrir url contenida en campo de formulario

Publicado: Mié Nov 09, 2016 8:11 pm
por RMG
Hola,

Debes cambiar la propiedad "Accion" del botón a Abrir documento/pagina web. Tienes varios errores, prueba esto.

Código: Seleccionar todo

Sub BotonAbreURL( Evento )' Poner en el evento del formulario Tras el cambio de registro
Dim oForm As object
Dim oBot As Object
Dim oTxt As Object
	oForm = Evento.Source
	oBot = oForm.getByName("NombreBoton")
	oTxt = oForm.getByName("Web")
	If Trim(oTxt.Text) <> "" Then
		oBot.TargetURL = Trim(oTxt.Text)
	Else
		oBot.TargetURL = ""
	End If
End Sub
Saludos

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 9:30 am
por Fer123
He cambiado ("NombreBoton") por el nombre del botón que tengo asignado, en este caso ("Abrir_web")
y ("Web") por el nombre el campo donde esta contenida la url, en este caso ("txtWeb").
Una vez hechos estos cambios al ejecutar la macro aparece el siguiente error:

"Propiedad o método no encontrado: getByName."

en la linea:

Código: Seleccionar todo

oBot = oForm.getByName("Abrir_web")

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 10:33 am
por RMG
Hola,

Donde tienes el botón, donde has colocado la macro?. Puedes adjuntar un ejemplo de tu BD sin información confidencial para verlo.

Saludos

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 11:11 am
por Fer123
Adjunto la base de datos con una información de prueba.

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 11:56 am
por RMG
Hola,

Te había dado la respuesta, pero creo que no has leido mi pregunta donde has puesto la macro. La macro no va en el botón, en la misma macro te indico donde ponerla.

Te adjunto tu ejemplo para que lo veas. No me canso de sugerir de hacer las cosas siempre simples, por ejemplo porque emplear macros cuando Base te da la solución, esto te lo digo por los botones de guardar, nuevo etc. El mismo botón lleva una propiedad llamada "Accion" que hace todo ello sin macros. Mira el botón nuevo registro como lo hace, he eliminado la macro.

Saludos

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 12:22 pm
por Fer123
Ante todo muchisimas gracias por su respuesta y su tiempo.

Lo de los botones guardar, nuevo, etc, era solo por hacer practicas pero como bien dices la mejor forma de hacer las cosas es simplificando.
En relación al botón, había entendido mal....
Lo curioso es que al trasladar la macro a la base de datos original y corregir la "Acción" del botón este no funciona, no aparece error, pero tampoco abre la url. También he probado a incluir un nuevo botón con una nueva macro en la base de datos de prueba y tampoco funciona...

Código: Seleccionar todo

Sub BotonAbreURL( Evento )' Poner en el evento del formulario Tras el cambio de registro
Dim oForm As object
Dim oBot As Object
Dim oTxt As Object
   oForm = Evento.Source
   oBot = oForm.getByName("Abrir_web")
   oTxt = oForm.getByName("web")
   If Trim(oTxt.Text) <> "" Then
      oBot.TargetURL = Trim(oTxt.Text)
   Else
      oBot.TargetURL = ""
   End If
End Sub
Sub BotonAbreURL2( Evento )' Poner en el evento del formulario Tras el cambio de registro
Dim oForm As object
Dim oBot As Object
Dim oTxt As Object
   oForm = Evento.Source
   oBot = oForm.getByName("Abrir_web2")
   oTxt = oForm.getByName("web")
   If Trim(oTxt.Text) <> "" Then
      oBot.TargetURL = Trim(oTxt.Text)
   Else
      oBot.TargetURL = ""
   End If
End Sub

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 1:00 pm
por RMG
Hola,

En la BD que te adjunto hago pruebas y funciona bien con la URL que he puesto en este caso (-www.orange.es-), verifica que existe tu URL, también comprueba los nombres de los controles, te recomiendo que uses el mismo nombre para el control y el campo, nada de fmt, text etc.

Saludos

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 1:17 pm
por Fer123
No se porque, pero en al BD que me adjuntas funciona perfectamente, pero si añado más botones para la misma accion no funcionan y si lo traslado a otra BD tampoco.
Adjunto una nueva BD que he creado para probarlo.

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 2:57 pm
por RMG
Te había dado la respuesta, pero creo que no has leido mi pregunta donde has puesto la macro. La macro no va en el botón, en la misma macro te indico donde ponerla.

Código: Seleccionar todo

Sub BotonAbreURL( Evento )' Poner en el evento del formulario Tras el cambio de registro
El problema es este.

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 4:15 pm
por Fer123
Ahhh disculpa¡¡
Ya entendí¡¡
No había puesto la macro en el evento de "tras cambio de registro" del formulario.
Ahora si.

Disculpa mi ignorancia.

Por otra parte, y volviendo a pedirte que disculpes mi ignorancia, me gustaría consultarte si este metodo también se puede utilizar para insertar un botón que abra un mensaje de correo electrónico a la dirección contenida en uno de los campos.

Un saludo y gracias por todo.

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 5:13 pm
por RMG
La misma macro ampliada para los dos. Si tienes más de un correo y una web en un mismo formulario debes diferenciarlo. Recuerda si esto esta resuelto ponerlo como tal, nos ayuda a mantener el foro mejor organizado.

https://forum.openoffice.org/es/forum/v ... f=3&t=2668

Saludos

Re: Botón para abrir url contenida en campo de formulario

Publicado: Jue Nov 10, 2016 5:55 pm
por Fer123
Perfecto¡ todo funciona Ok¡

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Jue May 17, 2018 10:14 pm
por serugra
el ejemplo que habéis puesto es con un formulario y una tabla entiendo, ¿pero que pasa cuando, como es mi caso, tengo un formulario con un subformulario dentro y quiero abrir un documento pdf a partir de una url que se encuentra en un cuadro de texto que pertenece a ese subformulario? lo digo porque a pesar de que he calcado todas las instrucciones dadas no consigo que me abra ningún documento con el botón, y conste que la macro la pongo en el evento del subformulario y no en el del botón.
gracias

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Vie May 18, 2018 8:17 am
por RMG
Hola,

La has puesto tras el cambio de registro del subformulario?.

Saludos

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Vie May 18, 2018 11:50 am
por serugra
RMG escribió:Hola,

La has puesto tras el cambio de registro del subformulario?.

Saludos
Sí, la he puesto tras el cambio de registro de datos del subformulario, el cuadro de texto pertenece al subformulario y el botón también

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Vie May 18, 2018 2:43 pm
por RMG
Hola,

Pues en ese caso te debería funcionar. Puedes adjuntar para verlo un pequeño ejemplo de tu BD, sin información confidencia.?.

Saludos

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Vie May 18, 2018 11:03 pm
por serugra
RMG escribió:Hola,

Pues en ese caso te debería funcionar. Puedes adjuntar para verlo un pequeño ejemplo de tu BD, sin información confidencia.?.

Saludos
buenas, te adjunto la base de datos, le he quitado toda la información confidencial, el cuadro de texto bajo la etiqueta "url del archivo" es donde se introduce la ruta, asociado al campo RUTA de la tabla TRAMITE

un saludo
EXPEDIENTES.odb.zip
(15.1 KiB) Descargado 232 veces

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Sab May 19, 2018 3:54 pm
por RMG
Hola

El problema esta en la propiedad "Accion" del botón que la tienes como "Ninguno" cuando debe estar como "Abrir documento/pagina web".

Saludos

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Sab May 19, 2018 5:39 pm
por serugra
muchas gracias RMG, no hubiera caído en la cuenta de eso nunca.

otra cuestion que me surge es: si en vez de tener que introducir la url del pdf de forma manual en el cuadro de texto la pudiera introducir, abriendo un cuadro de dialogo y seleccionando el archivo pdf que me interesa. He visto que hay ejemplos resueltos pero utilizando controles tabla, utilizan un botón para buscar y seleccionar el archivo y otro botón para abrirlo. ¿cómo sería utilizando un cuadro de texto?. muchas gracias de antemano

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Sab May 19, 2018 6:02 pm
por mauricio
Esa es otra pregunta, por favor, abre un nuevo tema, de hecho, tu pregunta, creo recordar, ya se ha respondido, por favor, realiza una búsqueda primero.

Re: [RESUELTO] Botón para abrir url contenida en campo de fo

Publicado: Sab May 19, 2018 8:16 pm
por serugra
Muchas gracias, he buscado en otros temas y he adaptado la macro a mis necesidades, doy el tema por resuelto