Macro para crear hipervinculos a pdf

Solo consultas sobre macros y código VBA Excel.
Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Responder
elgazo
Miembro Nuevo
Miembro Nuevo
Mensajes: 4
Registrado: 23 Sep 2016 07:36

Macro para crear hipervinculos a pdf

Mensaje por elgazo » 02 Abr 2019 03:25

Buenos días a todos.
Necesito ayuda para terminar una macro. Hace todo lo que necesito excepto crear un hipervínculo en la celda donde pego un valor númerico. Esta celda es siempre la "B4" y baja una vez escrita para esperar en blanco al siguiente apunte. En una carpeta llamada "pdf" que está en el mismo nivel de carpeta que el archivo Excel, existen tantos pdfs como valores numéricos de la columna "B" antes mencionada. Coinciden exactamente.
Realemente lo que necesito es que cuando consulto la columna "B" tenga la posibildidad de abrir/lanzar el pdf para no tenter que buscarlo uno a uno en la carpeta que lo contiene.
Como lector de pdf uso el que tengo instalado por defecto en la instalación de Windos 8.1 de mi empresa con ruta aparente "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" y sumatra pdf portable con ruta "D:\Sumatra pdf\SumatraPDFPortable.exe".
Gracias de antemano por compartir vuestra sapiencia con los que carecemos de ella.
Saludos.



Vico
Miembro Frecuente
Miembro Frecuente
Mensajes: 239
Registrado: 28 Feb 2018 01:22

Re: Macro para crear hipervinculos a pdf

Mensaje por Vico » 02 Abr 2019 13:49

Hola que tal:

Analizando un poco lo que planteas, dices que ya tienes una macro, pero como no sé que es lo que hace tu macro (refiriendome a que no sé a donde envia los valores de la celda B4, pero segun entendí los desplaza hacia abajo), hice un ejemplo con una macro en un libro nuevo, para que lo pruebes y veas si es lo que necesitas.
Para que funcione debe de cumplir lo siguiente:

- La carpeta "pdf" debe estar en la misma ruta (o nivel) que el libro de ejemplo. Nota: el libro no debe estar dentro de esta carpeta sino mas bien afuera. Aunque tu mencionas que ya está así tu carpeta "pdf" pero aún así hago esta observación. Copia el adjunto al lugar donde se encuentra la carpeta
- Agrega dentro de la carpeta algunos de los archivos pdf para probar o si ya los tienes ya omite esto.
- Abre el libro que adjunto y en la celda B4 (rellena en color gris) escribe el nombre de algunos de los archivos pdf de la carpeta "pdf" y le das enter. Sólo debes ecribir el nombre tal y como está (con mayusculas, espacios, etc), pero sólo el nombre, no se escribe la extensión ".pdf"
- Verás que al pulsar enter te manda la información hacia abajo de la columna B e inserta el hyperlink, después borra la celda B4 y la selecciona para que vuelvas a escribir.
- Puedes escribir los nombres de los libros que están en la carpeta y verás que se van agregando hacia abajo en una lista.

Prueba y me comentas
Saludos
Vico :D
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.



elgazo
Miembro Nuevo
Miembro Nuevo
Mensajes: 4
Registrado: 23 Sep 2016 07:36

Re: Macro para crear hipervinculos a pdf

Mensaje por elgazo » 03 Abr 2019 04:59

Muy buenas.
Ante todo, muchas gracias por tu respueta.
Ciertamente, crea el hipervinculo correctamete a la carpteta que contiene los pdfs pero lo que necesito es bajar la fila (en las celdas adyacentes también se hacen apuntes...) y dejar la celda b4 libre para el siguiente apunte.
He incluido parte del código que me has ofrecido dentro de la macro que ya tenía y funciona perfectamente.
Muchisimas gracias.
Te pediría una segunda ayuda con esta macro y es hacerla correr sobre los 600 apuntes de la columna B desde B6 hasta B600, tan sólo creando el hipervínculo para no tener que hacerlos "a mano" sobre los apuntes anteriores. Esto es así por que surgió la necesidad de abrir el pdf bastante después de haberse inciado el registro de datos.
Reitero mi gratitud por tu ayuda.
Saludos.



Vico
Miembro Frecuente
Miembro Frecuente
Mensajes: 239
Registrado: 28 Feb 2018 01:22

Re: Macro para crear hipervinculos a pdf

Mensaje por Vico » 04 Abr 2019 08:34

Hola que tal:

Aquí lo que me pides:
Te pediría una segunda ayuda con esta macro y es hacerla correr sobre los 600 apuntes de la columna B desde B6 hasta B600, tan sólo creando el hipervínculo para no tener que hacerlos "a mano" sobre los apuntes anteriores.
Esta macro te lo hará:

Código: Seleccionar todo


Sub crear_hyperlink_en_rango_B()
' by Vico
' crear hyperlink desde B6 hasta B600
Application.ScreenUpdating = False
Dim ruta2, valor2 As String
Dim celdaB, rangoB As Range
Sheets("Hoja1").Select 'seleccionas la hoja
Set rangoB = Range("B6:B600")
For Each celdaB In rangoB
    If celdaB <> "" Then
        celdaB.Select
        valor2 = celdaB
        ruta2 = ThisWorkbook.Path & "\pdf\" & valor2 & ".pdf" 'especificas la ruta y el nombre en la variable
        Selection.Hyperlinks.Add Anchor:=Selection, Address:=ruta2, TextToDisplay:=CStr(valor2) 'creas el hipervinculo
    End If
Next celdaB
Set celdaB = Nothing
Set rangoB = Nothing
End Sub

Espero te sirva y también espero tus comentarios

Saludos
Vico :D



elgazo
Miembro Nuevo
Miembro Nuevo
Mensajes: 4
Registrado: 23 Sep 2016 07:36

Re: Macro para crear hipervinculos a pdf

Mensaje por elgazo » 15 Abr 2019 07:13

Buenos días.
Disculpa la tardanza en agradecer tu ayuda.
He conseguido lo que necesitaba adaptando tu macro a la mía de tal manera que la he incrustado y me crea el hipervínculo cuando busco el apunte en la columna "B". Lo he hecho así ya que solo creaba el vínculo en el primer apunte de la columna y tampoco me los guardaba cuando volvía a abrir el archivo.
Como conclusión, he aprendido ha crear hipervínculos con macros. Me has ayudado, y mucho, a resolver la dificultad que tenía.
Gracias por tu labor y paciencia.
Gracias por vuestra labor.
*No se como cerrar el post.



Responder