Página 1 de 1

[RESUELTO] Macro abrir documento pdf

Publicado: Jue Sep 30, 2010 2:43 pm
por Cristy
Hola a tod@s,

tengo un problema con la siguiente macro (extraida del libro de Mauricio):

Sub AbrirInventarioJunio ()
Dim sRuta As String
Dim mArg ()
Dim oDocumento As Object

sRuta = ConvertToUrl( "file://pe2900/Documentos Compartidos/Departamento de Producción/GestionProduccion/Mantenimiento/Programa/2010/INFORMES 2010/INVENTARIO JUNIO 2010.pdf" )
oDocumento = StarDesktop.loadComponentFromURL( sRuta, " blank", 0, mArg() )

End Sub

El problema es que no hace nada. No me da error pero tampoco me ejecuta el archivo.

Mi intención es que cuando presione un botón de un formulario de mi base, se me abra un archivo ubicado en la red de mi trabajo.

Agradeceré cualquier ayuda




P.D.: La macro la tengo asociada al evento "Botón del ratón soltado"

Re: Macro abrir documento pdf

Publicado: Jue Sep 30, 2010 5:45 pm
por mauricio
Hola...

¿Quieres solo abrir el PDF o quieres abrirlo en OOo?, para lo primero loadComponentFromURL no es el método correcto, para lo segundo debes de tener instalada y trabajando correctamente la extensión para importar los PDFs a Draw y aun así, no podría asegurarte que los abra pues no lo he probado, pero pruebalo y nos cuentas...

Saludos

Re: Macro abrir documento pdf

Publicado: Vie Oct 01, 2010 8:11 am
por Cristy
Hola Mauricio,

Mi intención es solo abrir el pdf (modo lectura) para poder imprimirlo. Es un archivo exportado de un informe de mi base de datos. Aunque estoy planteandome el guardar el informe en writer y así no tendria ningun problema en utilizar la macro de antes, verdad¿?
Que me aconsejais¿?

Re: Macro abrir documento pdf

Publicado: Vie Oct 01, 2010 12:05 pm
por RMG
Hola Cristy y Mauricio

Por si esto ayuda, yo cuando quiero imprimir cualquier informe ó archivo en PDF, uso una utilidad (hay varias y es gratuita) que se llama doPDF 7. Esta utilidad lo que hace es que te crea una impresora virtual en PDF y cuando imprimies algo te la muestra como una impresora más, si la seleccionas, te da la opción de imprimir ó guardarlo como archivo PDF.No se si esto sera la solución, pero te puede ayudar.

Saludos
Ramón

Re: Macro abrir documento pdf

Publicado: Vie Oct 01, 2010 4:53 pm
por mauricio
Hola Cristy:

Generar un PDF o un Writer, dependerá de tus necesidades y gustos, si ya tienes el código que te genera el PDF y el reporte es de solo lectura, me parece una buena decisión, para abrir el PDF desde una macro para solo lectura, yo uso el siguiente código:

Código: Seleccionar todo

	Shell ( "evince", 3, sRuta, False )
Tienes que reemplazar evince por el lector de PDF que uses, esto lo uso en Linux, tienes que probar si funciona igual en Windows...
P.D. Ahora que recuerdo en las máquinas virtuales de prueba que tengo, tengo instalado evince para Windows, tal vez te funciona si lo instalas.

Ramón, OOo tiene soporte para generar PDF no es necesario usar una impresora de PDF, pero cuando hay necesidad, en las máquinas de mis clientes uso CreatorPDF que es software libre, de todos modos siempre es bueno tener otra opción...

Saludos

Re: Macro abrir documento pdf

Publicado: Jue Oct 07, 2010 12:31 pm
por Cristy
Hola chicos,

Bueno...lo he probado de todas las maneras que se me han ocurrido para abrir un archivo pdf y no he dado con la solución...así que creo que me voy a cojer unas vacaciones :cry:

Gracias igualmente chicos, iré probando y cuando tenga la macro funcionando ya la subiré.

Saludos

Re: Macro abrir documento pdf

Publicado: Jue Oct 07, 2010 2:10 pm
por Cristy
Ya tengo la solución!!! Y la verdad que era más facil de lo que me pensaba...

Abro el archivo a través de las propiedades del botón. Escribo la URL y vualá, el informe se abre perfectamente.

Que ganas tenía de complicarme la vida....

Gracias igualmente por el tiempo prestado!!!

Re: [RESUELTO] Macro abrir documento pdf

Publicado: Mié Oct 13, 2010 6:28 pm
por mauricio
Hola Cristy...

Con este otro método puedes abrir el PDF (realmente cualquier archivo), se abrirá con el programa que lo tenga asociado en tu sistema operativo...

Código: Seleccionar todo

    sys = CreateUnoService("com.sun.star.system.SystemShellExecute")
    sRuta = "/home/mau/archivo.pdf"
    sys.execute( sRuta, "", 0)
Saludos

Re: [RESUELTO] Macro abrir documento pdf

Publicado: Vie Mar 17, 2017 9:03 pm
por dukkhum
Gracias Mauricio!!!
Llevaba varios dias calentandome la cabeza con esto...
La he adaptado a mis necesidades y me funciona perfectamente.
Solamente he hecho una modificación y es fusionar la definición y la ejecución para que me funcionara:

sys = CreateUnoService("com.sun.star.system.SystemShellExecute")
y
sys.execute( sRuta, "", 0)
sustituidas por
CreateUnoService("com.sun.star.system.SystemShellExecute").execute( sRuta, "", 0)

Muchíiiiiisimas gracias!!!
Me siento eufórico!