Hipervinculo a pdf
Hipervinculo a pdf
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
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
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:
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)
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
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 (9.55 KiB) Visto 9691 veces
Re: Hipervinculo a pdf
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?
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
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.
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
Re: Hipervinculo a pdf
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
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
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.
Re: Hipervinculo a pdf
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?
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
tienes enlasado el evento 'Mouse Button Pressed' de la caja de texdo? puedes quitarle ese evento, y solo deja el boton.