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

Discute sobre las herramientas de la base de datos
Responder
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje 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.
Última edición por mauricio el Jue Nov 10, 2016 6:33 pm, editado 3 veces en total.
Razón: Usar icono de resuelto
OpenOffice 4.1.3 en Windows 10 Pro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

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

Mensaje por mauricio »

Creo recordar que tu pregunta se ha respondido varias veces... ¿ya realizaste una busqueda?

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje 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.
OpenOffice 4.1.3 en Windows 10 Pro
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje 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")
OpenOffice 4.1.3 en Windows 10 Pro
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje por Fer123 »

Adjunto la base de datos con una información de prueba.
Adjuntos
Agenda.zip
(35.54 KiB) Descargado 268 veces
OpenOffice 4.1.3 en Windows 10 Pro
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
Adjuntos
Agenda.zip
(35.43 KiB) Descargado 320 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje 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
OpenOffice 4.1.3 en Windows 10 Pro
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje 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.
Adjuntos
Nueva base de datos.zip
(9.92 KiB) Descargado 238 veces
OpenOffice 4.1.3 en Windows 10 Pro
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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.
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje 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.
OpenOffice 4.1.3 en Windows 10 Pro
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
Adjuntos
Nueva base de datos1.zip
(10.26 KiB) Descargado 308 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Fer123
Mensajes: 8
Registrado: Mié Nov 09, 2016 12:36 pm

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

Mensaje por Fer123 »

Perfecto¡ todo funciona Ok¡
OpenOffice 4.1.3 en Windows 10 Pro
serugra
Mensajes: 5
Registrado: Jue May 17, 2018 10:07 pm

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

Mensaje 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
libreoffice Versi??n: 5.1.6.2

s.o. linux-ubuntu
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje por RMG »

Hola,

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

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
serugra
Mensajes: 5
Registrado: Jue May 17, 2018 10:07 pm

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

Mensaje 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
libreoffice Versi??n: 5.1.6.2

s.o. linux-ubuntu
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
serugra
Mensajes: 5
Registrado: Jue May 17, 2018 10:07 pm

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

Mensaje 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 227 veces
libreoffice Versi??n: 5.1.6.2

s.o. linux-ubuntu
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

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

Mensaje 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
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
serugra
Mensajes: 5
Registrado: Jue May 17, 2018 10:07 pm

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

Mensaje 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
libreoffice Versi??n: 5.1.6.2

s.o. linux-ubuntu
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

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

Mensaje 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.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
serugra
Mensajes: 5
Registrado: Jue May 17, 2018 10:07 pm

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

Mensaje por serugra »

Muchas gracias, he buscado en otros temas y he adaptado la macro a mis necesidades, doy el tema por resuelto
libreoffice Versi??n: 5.1.6.2

s.o. linux-ubuntu
Responder