[RESUELTO] Abrir pdf con boton en formulario

Discute sobre las herramientas de la base de datos
Responder
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

[RESUELTO] Abrir pdf con boton en formulario

Mensaje por Erom »

Hola. gracias a este foro estoy haciendo mis pinitos con open office.

Estoy intentando hacerme una base de datos en la que quiero vincular documentos pdf de un expediente a la ficha de cada cliente y buscando he visto esta línea de código con la que estoy intentando funcionar.
La posibilidad de poner en una caja de texto un nombre de documento pdf y que con un botón me abra el citado documento es ideal para lo que quiero, pero después de adaptar el código y asignarle al botón la macro con este código, cuando pulso el botón, este no hace nada.

Yo trabajo con W7. Os pongo el código adaptado y con la ruta donde está la carpeta que he creado donde meter los documentos pdf y el nombre de la caja de texto(text1). estos son los únicos cambios que he hecho.

Código: Seleccionar todo

Option Explicit

Sub MostrarPdf (Evento)

Dim sArchivoSiguiente As String
Dim sTodosLosArchivos As String
Dim sDirNom as string
Dim sArchivoPdf as string
Dim sRuta as string
Dim encontrado as string
Dim sDirectorioActual As String
Dim mTmp()
Dim sArchivo As String
Dim txtArchivo As Object
Dim abrir
Dim sNombre as string	
Dim sys


sDirectorioActual = "C:/Users/comercio/Desktop/COMERCIO/Controles/archivomercados"
mTmp = Split( sDirectorioActual, "/" )
mTmp(UBound(mTmp)) = ""
sDirectorioActual = Join( mTmp, "/" )
'El control donde esta el nombre del archivo
txtArchivo = Evento.Source.Model.Parent.getByName("text1")

sNombre = txtArchivo.text
sNombre = Join(Split(sNombre,"/"),"-")
rem msgbox sNombre
sDirectorioActual = sDirectorioActual & "Resoluciones/"
rem msgbox sDirectorioActual
encontrado = ""

'buscar el archivo .pdf correspondiente
sTodosLosArchivos = ""
sArchivoSiguiente = Dir(sDirectorioActual, 0)
While sArchivoSiguiente <> "" 
if sArchivoSiguiente >= ("res " & sNombre) and sArchivoSiguiente <= ("res " & sNombre & "z") then
sArchivoPdf = sDirectorioActual & sArchivoSiguiente
rem msgbox "Se abrira el archivo : " & sArchivoPdf
'abrir el archivo pdf correspondiente	
sys = CreateUnoService("com.sun.star.system.SystemShellExecute")
sRuta = sArchivoPdf
sys.execute( sRuta, "", 0)
encontrado = "SI"
endif
sTodosLosArchivos = sTodosLosArchivos & Chr(13) & sArchivoSiguiente 
sArchivoSiguiente = Dir

wend
if encontrado<>"SI" then
msgbox "No se encontró un archivo .pdf para la resolución: " & Trim(txtArchivo.text)
endif

end sub
Os agradecería que me indicaseis que es lo que hago mal.

Gracias.
Última edición por SLV-es el Mar Jun 24, 2014 9:43 am, editado 2 veces en total.
Razón: etiquetas code
OPENOFFICE 4.0.1
RMG
Mensajes: 3885
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir pdf con boton en formulario

Mensaje por RMG »

Hola,

Prueba esto, no hace falta indicar la ruta, solo debes ubicar la carpeta con los .pdf junto a la BD.

Código: Seleccionar todo

Sub MostrarPdf (Evento)
	Dim oForm As Object
	Dim sDirectorioActual As String
	Dim sDirectorioArchivos As String
	Dim mTmp()
	Dim sRuta As String
	Dim txtArchivo As Object
	Dim sAbrir
	oForm = Evento.Source.Model.Parent
	'Carpeta donde estan la fichas
	sDirectorioArchivos = "archivomercados"
	'Carpeta donde esta la BD
	sDirectorioActual = ThisDatabaseDocument.getURL
	mTmp = Split( sDirectorioActual, "/" )
	mTmp(UBound(mTmp)) = ""
	sDirectorioActual = Join( mTmp, "/" )
	sDirectorioActual = sDirectorioActual & sDirectorioArchivos & "/"
	'El control donde esta el archivo
	txtArchivo = oForm.getByName("text1")
	'Contruimos la ruta completa del archivo
	sRuta = sDirectorioActual & txtArchivo.Text & ".pdf"
	'Busca el archivo correspondiente
	If FileExists(sRuta) Then
		'abre el archivo si lo encuentra
		sAbrir = CreateUnoService("com.sun.star.system.SystemShellExecute")
 		sAbrir.execute( sRuta, "", 0)
	Else
		MsgBox "no existe"
	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)
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: Abrir pdf con boton en formulario

Mensaje por Erom »

Gracias RMG, por tu respuesta.

He copiado tu código tal cual en la macro y la he asignado al botón. He puesto la BD junto a la carpeta de los PDF, y para mi desesperación. No funcionó.

Se que es ponerme pesado y abusar pero voy muy perdido, por lo que subo en un adjunto la base que estoy creando. Si me puedes decir en que me equivoco, te lo agradecería.

J.C. Moreno.

Gracias.
mercados.rar
Base mercados
(57.48 KiB) Descargado 258 veces
OPENOFFICE 4.0.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Abrir pdf con boton en formulario

Mensaje por SLV-es »

Dos cosas:
En la tabla tienes "mercado central" y en la carpeta "mercado frontera"; es normal que no lo encuentre.

Por otro lado, cambia esta línea en tu código:

Código: Seleccionar todo

   sRuta = replace(sDirectorioActual & txtArchivo.Text & ".pdf"," ","%20") 
El problema es que debes convertir la ruta a una URL, y los espacios en blanco no son válidos.

Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Abrir pdf con boton en formulario

Mensaje por SLV-es »

Corrijo y mejoro mi anterior código:

Código: Seleccionar todo

sRuta = ConvertToUrl( sDirectorioActual & txtArchivo.Text & ".pdf" )
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: Abrir pdf con boton en formulario

Mensaje por Erom »

Soy muuuuy BURRO.

He hecho los cambios que me indicáis, la línea de código y el nombre del documento y ni con esas.
Pulso el botón y no hace nada.

Por favor. Me hace bastante falta.

J.C. Moreno.

Vuelvo a adjuntar la BD con las modificaciones.

Gracias.
Adjuntos
mercados.rar
Bd Mercados ultima modificacion
(57.32 KiB) Descargado 216 veces
OPENOFFICE 4.0.1
RMG
Mensajes: 3885
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir pdf con boton en formulario

Mensaje por RMG »

Hola,

A mi me funciona bien, he creado un nuevo .pdf y sin problemas. Revisa por si acaso la seguridad de las macros, yo la tengo en seguridad baja.

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)
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: Abrir pdf con boton en formulario

Mensaje por Erom »

Moltes gracies.

Lo veo en volver al trabajo.

:super:
OPENOFFICE 4.0.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Abrir pdf con boton en formulario

Mensaje por SLV-es »

Es recomendable seguridad media, independientemente de que haya que confirmar o denegar el permiso cada vez que abres un documento con macros.

Para los que tienen que abrir una y otra vez sus propios documentos con macros, y están seguros de que no contienen macros malintencionadas, es preferible configurar los orígenes de confianza. Con este método se establece qué carpetas de nuestro equipo (o red) contienen documentos con macros de confianza, y a los que damos permiso de ejecución sin preguntar.
Evidentemente deben de ser alguna o algunas carpetas especiales, no todas, y nunca la carpeta 'Descargas' o 'Mis documentos'. Los usuarios de otros sistemas distintos a Windows, que 'traduzcan' a sus correspondientes carpetas.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: Abrir pdf con boton en formulario

Mensaje por Erom »

Esto empieza a darme vergüenza.

Me da un error en la siguiente línea ( oForm = Evento.Source.Model.Parent) al entrar en la macro y ejecutarla directamente.

Y el mensaje que me sale cuando pulso en la caja de texto es el siguiente:

Se ha producido un error de marco de programción al ejecutar el comando vnd.sun.star.script:Standard.Hiper.Form_opendocument?
language=Basic&location=document escrito en Basic.

Mensaje: The following Basic script could no be found:
library:'Standard'
module: 'Hiper'
method: 'Form_oopendocument'
location:'document'

Y pulsando en el boton:

C:\User\comercio\Desktop\mercados\archivomercados\pirotecnia.pdf
no se ha encontrado la aplicación.


No sabeis lo que me jode ser tan molesto y pesado.
Vuelvo a poner la BD en el adjunto tal cual la tengo ahora en mi ordenador.

Gracias.
OPENOFFICE 4.0.1
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: Abrir pdf con boton en formulario

Mensaje por Erom »

La BD. Joer que espesico que estoy.
Adjuntos
mercados.rar
(57.38 KiB) Descargado 299 veces
OPENOFFICE 4.0.1
RMG
Mensajes: 3885
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir pdf con boton en formulario

Mensaje por RMG »

Hola,

El problema del cuadro de texto es por que tienes asociada una macro al evento al pulsar, que no existe. Debes entrar en las propiedades del cuadro de texto, acontecimientos y eliminar la linea.

Respecto al botón a mi me funciona perfectamente, cambio la carpeta "mercados" a cualquier ubicación de mi PC y siempre funciona bien, eso sí la BD y la carpeta archivosmercados siempre juntos.

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)
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: Abrir pdf con boton en formulario

Mensaje por Erom »

Arreglado.
El problema era que no tenía asociados los pdf, por defecto al programa que los abre, por lo que la macro no encontraba la aplicación con la que abrirlos.

Funciona perfectamente.

Muchas Gracias a todos.

:bravo:
OPENOFFICE 4.0.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Abrir pdf con boton en formulario

Mensaje por SLV-es »

Para los nuevos usuarios del foro:
Te damos la bienvenida a este foro. Esperamos poder ayudarte y que tus aportaciones ayuden también a otros.
Dado que recien has desembarcado en esta costa, te recomiendo que leas la Guía de supervivencia del foro :super: .
Si con las respuestas obtenidas consideras que se ha dado solución a tu consulta :), por favor, marca el tema como [RESUELTO],
(aunque la solución obtenida sea que no la hay :(, o hayas resuelto tú mism@ el problema :bravo: ).
Si no sabes cómo, por favor, lee Como marcar como [RESUELTO] un tema.

Gracias por participar en el foro y ayudar a que todo esté ordenado.


Por esta vez lo haré yo; la próxima vez, hazlo tú.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Erom
Mensajes: 32
Registrado: Mié May 07, 2014 10:05 am

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por Erom »

Gracias y perdona. Lo tendré en cuenta.
OPENOFFICE 4.0.1
rmon
Mensajes: 4
Registrado: Lun May 18, 2015 12:03 pm

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por rmon »

Hola,
Estoy intentando abrir pdf desde openoffice base y no puedo.
Por favor si alguien puede ayudarme, le explico el problema.

Gracias

:crazy:
Openoffice.org 3.3
Windows
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por mauricio »

¿ya probaste todo lo que se ha comentado en este mismo tema?
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
rmon
Mensajes: 4
Registrado: Lun May 18, 2015 12:03 pm

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por rmon »

Hola,
Gracias en primer lugar por contestar. Lo he probado todo pero no me funciona, no se que es lo que hago mal.
Quisiera adjuntarte la base de datos y los pdf pero no se como subirtelos.

Saludos y gracias.
Openoffice.org 3.3
Windows
rmon
Mensajes: 4
Registrado: Lun May 18, 2015 12:03 pm

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por rmon »

Hola de nuevo,
en archivo adjunto os subo la base de datos. En la sección Uno Nacimientos, quiero que en cada formulario o cada campo o como sea, pueda abrir su correspondiente Acta de Nacimiento. Os adjunto también las actas de nacimiento.
Por favor explicadmelo paso a paso cómo lo tengo que hacer y qué instrucciones tengo que seguir como si no supiera nada de informatica.


Disculpad pero no puedo subir datos adjuntos

Saludos
Openoffice.org 3.3
Windows
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por SLV-es »

Hola rmon

Por favor no subas documentos oficiales con información confidencial al foro, salvo que esos documentos sean públicos, pero mejor si lo evitas.

El enlace que has agregado es incorrecto, y además es de un documento de tu ordenador; para subirlo, utiliza el editor completo, y haz clic en la pestaña "Subir adjunto" que verás justo al pié del editor del mensaje.

Lee adjuntar una copia del documento a este tema.
Si contiene datos que no deben hacerse públicos, crea una copia para enviar donde debes eliminar esos datos o reemplazarlos con información irrelevante.
La ley de casi todos los paises castiga con graves multas e incluso penas de prisión la publicación de datos privados de personas. Por lo tanto, elimina nombres, apellidos, domicilios, fechas de nacimiento, teléfonos, etc, y rellénalos con datos irrelevantes o ficticios.

Por favor, no repitas los mensajes; con una sola pregunta sobre un tema es suficiente; tu otro mensaje ha sido eliminado.

Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: [RESUELTO] Abrir pdf con boton en formulario

Mensaje por SLV-es »

rmon escribió:Por favor explicadmelo paso a paso cómo lo tengo que hacer y qué instrucciones tengo que seguir como si no supiera nada de informatica.
Hola de nuevo

Para aplicar esta solución debes como mínimo saber editar macros y formularios en Base.
No se puede explicar como si no supieras nada de informática, lamentablemente, pues eso llevaría varias horas, incluso días de trabajo por nuestra parte.

La solución dada funciona y es aplicable a cualquier base de datos, ajustándola a los parámetros de cada caso.

Si no tienes los conocimientos necesarios, puedes intentar subir tu base de datos sin información confidencial, con la esperanza de que algún usuario quiera ayudarte y hacer el trabajo por su cuenta.

Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Responder