Función para probar enlace hipertexto (excel)

Resuelto
anthony -  
 anthony -
Hola,

he implementado la función HIPERVINCULO con concatenación y esto es lo que da
=HIPERVINCULO($T$4&F8&"\"&D8&C8&"_"&K8&TEXTO(H8;"ddmmaaaa")&".pdf";K8)
se trata de una base de datos con números de documentos (C8), índices de revisión (D8), nombres de proveedores (F8), una fecha de recepción del acuse de recibo (H8) y la respuesta del AR: Aceptado, aceptado con comentario o Rechazado (K8).
aquí está lo que da en un ejemplo:
C:\Users\thony\Desktop\SOCIETEBIDULE\A8230835_A140610.pdf
y así en mi columna L tengo inmediatamente los AR como hipervínculos sin tener que apuntarlos.

ahora aquí está mi pregunta. ¿existe alguna función o fórmula para mostrar si el archivo está presente o no?
actualmente solo puedo saber si el archivo está presente al hacer clic en cada fila de la columna L, pero debería poder saberlo sin tener que hacer clic

gracias a ustedes

Configuración: Windows 7 / Firefox 3.6.12

8 respuestas

  1. Usuario anónimo
     
    Buenas noches

    Tuve un problema un poco similar, lo resolví con una macro que reconfigura los hipervínculos.
    Si el archivo está presente, el texto del hipervínculo se muestra en azul subrayado. De lo contrario, hay un error y el texto permanece en color negro. No sé si es realmente lo que buscabas.

    Cordiales saludos

    agi67
    5
  2. anthony
     
    Aquí sería mejor tener mensajes del tipo "archivo encontrado" cuando el hipervínculo esté presente y "archivo ausente" cuando el archivo de destino no esté.

    Ya que deseo desarrollar la función de hipervínculo sobre otra cosa.
    Recibimos listas de entrega de productos que tienen una referencia, un proveedor y un número de lote. Por otro lado, recibimos actas para cada producto.
    La persona toma la lista de entrega y va a ver en el expediente si tiene un acta para este producto. Si la tiene, pasa a la siguiente línea; si está ausente, la reclama. En resumen, hay 4 páginas A4 y, por lo tanto, toma tiempo y poco interés para ella.

    Mi objetivo sería tener la lista de entrega en Excel y, con la función de hipervínculo, buscar el acta para cada línea.
    Por lo tanto, es necesario saber de un vistazo dónde están los actas faltantes sin tener que hacer clic.
    1
  3. eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
     
    Hola a todos,

    ¿Agi67 respondía al problema, verdad? El estilo de visualización no es más que la forma...

    Si no, puedes hacerte una función personalizada:
    Function ExisteFichero(nomfic As String) As Boolean ExisteFichero = (Dir(nomfic) <> "") End Function

    retorna VERDADERO si el archivo existe, que puedes probar para mostrar lo que quieras.

    eric
    0
  4. anthony
     
    Sí, de hecho Agi67 tenía la solución. Tenía en mente filtrar en la columna con ausente o presente para resaltar a los que faltan.

    Pregunta idiota para los profesionales, pero ¿qué hago con la función?
    ¿Debo modificarla en qué nivel y dado que no hay SUB, no es una macro, entonces, ¿dónde la pego?
    0
    1. eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
       
      Alt+F11 para mostrar el editor VBE
      clic derecho en el proyecto (a la izquierda) y 'inserción / módulo'
      pegar el código

      Una función personalizada se utiliza como una función nativa de Excel.
      En tu hoja con un nombre de archivo (con su ruta) en A1, en B1 escribes:
      =ExisteFichero(A1)
      para obtener VERDADERO o FALSO o bien:
      =si(ExisteFichero(A1);"ok";"ausente")

      eric

      eric
      0
    2. anthony
       
      Funciona, muchas gracias, me voy a acostar con un nivel mejor gracias al foro y a ustedes que nos hacen disfrutar de sus conocimientos.
      0
    3. eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
       
      De nada :-)
      No olvides marcarlo como resuelto.
      0
    4. tchernosplif Mensajes publicados 714 Estado Miembro 249
       
      es genial, me va a servir; ¿podemos hacer lo mismo para un enlace de internet? http://...
      0
    5. eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
       
      heuu, no, lo siento :-)
      Eso es válido para un archivo...
      eric
      0
  5. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
     
    Hola

    la función no se actualiza automáticamente... ¿hay alguna manera de solucionarlo?


    Sí, solo necesitas agregar esta línea en la función:

    Application.volatile


    Además, puedes usar la función de Éric, a quien saludo, en un formato condicional, evitando así una columna con una fórmula de esta manera:

    =NO(ExisteFichero(A1))

    --

    Siempre zen
    0
  6. anthony
     
    Efectivamente, la idea de la formateo condicional es una buena idea para ganar una columna, ya que mi tabla dinámica no funciona con esta columna adicional.

    He añadido la línea. He ido a modificar una letra de mi archivo en el directorio, pero nada ha pasado en Excel, todavía tengo "ok", pero al hacer clic en él no tengo, por supuesto, ningún archivo.
    ¿Hay un tiempo de refresco con esta línea?
    0
  7. anthony
     
    La traduire en espagnol serait : ```vb Function ExisteFichero(nomfic As String) As Boolean
    Application.Volatile
    ExisteFichero = (Dir(nomfic) <> "")
    End Function

    esto es lo que he escrito y de hecho la diferencia es que el resultado cambia tan pronto como hago F9 si he cambiado el nombre del archivo en el hipervínculo, mientras que no se mueve si quito application.volatile ```
    0
  8. anthony
     
    Bueno, en realidad hice el formato condicional y eso resuelve mi problema ya que la respuesta del formato es inmediata en relación a la columna que contiene la fórmula.

    Puse la celda de color rojo para la condición =NO(ExisteFichero(A1))
    y en cuanto cambio algo en mi archivo, se vuelve rojo, así que perfecto.
    Ahora voy a ver para crear un filtro por color y no por el contenido como quería hacer.

    Gracias a ustedes.
    0