Hipervinculo a pdf

Discute sobre las herramientas de la base de datos
Responder
orkrom
Mensajes: 7
Registrado: Vie Mar 06, 2009 8:54 am

Hipervinculo a pdf

Mensaje por orkrom »

Hola
Ante todo decir que soy bastante novate en OO así que seguramente haya mejores formas de hacer, así que acepto consejos.
Quiero hacer una base de datos de articulos cientificos en pdf, de manera que he creado las columnas para el titulo, autores, codigos....
El caso es que necesito crear algun enlace (en access era un hipervinculo) que me vincule las entradas al archivo fisicamente guardado en mi disco duro y cuando le pinche me lo abra.
¿Se puede hacer eso?
¿como?
Muchas gracias
QuazzieEvil
Mensajes: 99
Registrado: Sab Dic 13, 2008 6:45 pm

Re: Hipervinculo a pdf

Mensaje por QuazzieEvil »

Hay dos maneras de hacerlo--pero las dos requieren macros.

1) Los botones tienen una propiedad llamada Acción que permite seleccionar acciones predeterminaras. Una de estas es abrir un documento. Entones, crea un botón que tiene acción de abrir un documento. Luego, crea una macro en el evento After Record Change del formulario que indica done esta ubicado el archivo que quieres abrir con ese botón:

Código: Seleccionar todo

Sub Form_AfterRecordChange(Event As Object)
	Dim Model As Object
	Dim Form As Object
    Dim URLs() As String		
    Dim Button As Object
    Dim URLBox As Object
    
	Form=Event.Source
	URLBox=Form.getByName("txtURL")
	Button=Form.getByName("PushButton1")
	Button.TargetURL= convertToURL(URLBox.Text)
	
End Sub
La otra manera es de usar la function Shell(...) para ejecutar un comando de DOS y de esa forma abrir el documento usando el programa respectivo para el tipo de archivo. Este lo puedes enlasar al evento Mouse Button Pressed de la caja de texto que indica donde esta ubicado el archivo (The Path)

Código: Seleccionar todo

Sub txtURL_OnMousePressed(Event As Object)
	Dim Program As String
	Dim FileName As String
	Dim cmd As String
	
	Program="""C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe"""
	FileName="""" & Event.Source.Text & """"
	cmd=Program & " " & FileName
	Shell(cmd)
End Sub
Adjuntos
FormScreenshot.png
FormScreenshot.png (9.55 KiB) Visto 9691 veces
orkrom
Mensajes: 7
Registrado: Vie Mar 06, 2009 8:54 am

Re: Hipervinculo a pdf

Mensaje por orkrom »

Muchas gracias por la respuesta, pero no la entiendo.
Mis conocimientos son muy limitados en base.
¿Podrias explicarme como hacerlo paso a paso?
Yo empiezo utilizando el asistente para crear tablas, y cuando llego a ID_libro. ¿como declaro esa variable? ¿como texto?
Y a continuación, tengo que crear el macro, pero.. ¿como se hace?
QuazzieEvil
Mensajes: 99
Registrado: Sab Dic 13, 2008 6:45 pm

Re: Hipervinculo a pdf

Mensaje por QuazzieEvil »

Por lo general un ID es mejor si lo dejas como un valor numerico (INTERGER) que se incrementa automaticamente--ver optiones the columna.

Acerca del documento:

1) Necesitas crear una columna que tenga el (Path-no se como se dice en espanol-es decir, el lugar en el disco donde esta el archivo: C:\Documentos\doc1.pdf). Esta columna tiene que ser texto (VARCHAR).

2) Crea una caja de texto en el formulario, y enlasala a esta columna que corresponde en la tabla. Para enlasar un control a una columna, abre el dialogo de propiedades, leugo selecciona la ficha datos.

3) a esta caja de texto le puedes agregar un evento para que cuando pulses en ella, te abra el documento. Usa la macro txtURL_OnMousePressed de la respuesta anterior. Para el evento de uncontrol a una macro, abre el dialog de propiedades, luego selecciona la ficha Eventos, busca el Evento Botón de Ratón Precionado (Mouse Button Pressed). Oprime en el boton junto a la caja de texto y sigue los diálogos para seleccionar la macro.

3) crea un boton para que cuando lo presiones también te abra el documento (si quieres). Simplemente selecciona la Accion que abra documentos, en el dialogó de propiedades. Y

4) Enlasa el evento After Record Change del formulario ala otra macro de la respuesta enterior. Lo que hace esta macro es asignar el valor que indica donde esta el archivo el botón para que abra el documento automáticamente. Esto lo va a hacer cada ves que cambies a tro record.

SALVANDO LAS MACROS: Los macros que te mande en la respesta anterior tienes que salvar los en un lugar designado. Mis opciones estan en ingles, no se que nombres tienes en español. Pero, en cada aplicación de OOo tiene la opcion de abrir el IDE de basic. Lo puedes hacer por el menu Tools -> Organize Macros -> OpenOffice.org Basic [Herramientas -->Organizar Macros --> Openffice.org Macros] en español?

Este paso te abre el IDE que es donde se salvan las macros. Puedes crear Bibliotecas, Y en cada biblioteca puedes crear Módulos, y en los módulos creas las macros (funciones, sub rutinas, constantes, variables). Cuando enlasas el evento de un control a una macro, aquí donde tienes que buscar las macros--por medio del asistente que abre cuando oprimes el botón para el evento respectiva en la ficha Eventos de el dialogó de propiedades de un control.

este vinculo [http://user.services.openoffice.org/es/ ... f=50&t=229] tiene un documento que ensena como programar con Basic.

Anexo esta un ejemplo (Base de datos con las macros en forma de una extension. instala la extension y abre la Base Datos.
Adjuntos
OOForums.zip
(3.16 KiB) Descargado 418 veces
orkrom
Mensajes: 7
Registrado: Vie Mar 06, 2009 8:54 am

Re: Hipervinculo a pdf

Mensaje por orkrom »

Hola
He intentado seguir tus pasos, pero no consigo hacerlo bien. Te escribo lo que hice,por si me puedes decir que hago mal.

1. Abrí Writer: seleccione herramientas/ macros/ grabar macro
2. Copié la segunda macro que me pusiste(Ctrl+C) y la pegue en writer (pegado especial, texto sin formato), le di a finalizar grabacion y la guarde como hiperpdf.
3. Abrí base, cree una tabla, con la columna path
3. Hice un nuevo formulario, con una caja de texto, clic derecho y en propiedades, datos, la vincule con la columna path.
4. En la pestaña acontecimientos, dentro de "boton de raton pulsado" asigne la macro

El formulario funciona bien, y rellena la tabla correctamente, pero si abro la tabla articulos (doble clic sobre ella) y hago clic sobre una entrada de path no me abre el archivo pdf.
¿Que hago mal?
Muchas gracias
QuazzieEvil
Mensajes: 99
Registrado: Sab Dic 13, 2008 6:45 pm

Re: Hipervinculo a pdf

Mensaje por QuazzieEvil »

necesitas abrir el organizador de macros para crear el macro. el grabador de macros aso algo diferenty--crea un macro basado en acciones que tomas en el GUI.
orkrom
Mensajes: 7
Registrado: Vie Mar 06, 2009 8:54 am

Re: Hipervinculo a pdf

Mensaje por orkrom »

Hola
Por fin he conseguido que funcione la macro!!!!
El problema es que me abre el pdf cuando estoy introduciendo los datos en el formulario para que complete las tablas
Yo lo que queria es que me abra el pdf cuando hago una consulta o cuando le haga clic en la tabla.
¿Por que me pasa eso?
QuazzieEvil
Mensajes: 99
Registrado: Sab Dic 13, 2008 6:45 pm

Re: Hipervinculo a pdf

Mensaje por QuazzieEvil »

tienes enlasado el evento 'Mouse Button Pressed' de la caja de texdo? puedes quitarle ese evento, y solo deja el boton.
Responder