Foros del Web » Soporte técnico » Ofimática »

VBA - Saber si el valor de un campo es una ruta correcta

Estas en el tema de VBA - Saber si el valor de un campo es una ruta correcta en el foro de Ofimática en Foros del Web. Hola! Creo que con el titulo del post tan largo queda claro, no? Necesito saber si en una celda que cargo una ruta mediante Application.GetOpenFilename ...
  #1 (permalink)  
Antiguo 09/10/2008, 07:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
VBA - Saber si el valor de un campo es una ruta correcta

Hola!
Creo que con el titulo del post tan largo queda claro, no?

Necesito saber si en una celda que cargo una ruta mediante Application.GetOpenFilename es una ruta válida.

Parece una chorrada por que siempre será verdadero, pero como la celda se puede editar, y se puede escribir cualquier cosa, incluso el boton cancelar de el GetOpenFilename me devuelve en la celda FALSE, así que tampoco es tan tonto que quiera verificar si la ruta es válida.

Después de mas rollo, gracias por adelantado.

Tanto me da como la ruta sea valida como si me coje el nombre del fichero y me dice que si que existe.

Os pongo el valor de una celda

C:\Users\user0002\Desktop\Nueva Carpeta\Libro1.xls

A ver que podemos hacer.


Gracias de nuevo!!!!
  #2 (permalink)  
Antiguo 09/10/2008, 07:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

Puedes usar Dir y On Error Resume Next de modo que devuelva True cuando la ruta es válida:
Código vb:
Ver original
  1. Function ValidarRuta(Ruta As String) As Boolean
  2. On Error Resume Next
  3. ValidarRuta = (Dir(Ruta) <> "")
  4. End Function
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/10/2008, 08:00
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

gracias ahora lo pruebo!!!
  #4 (permalink)  
Antiguo 09/10/2008, 08:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

perfecto, funciona de maravillas!!!

Hay alguna manera de saber si el archivo existe?

Gracias de nuevo!!!!
  #5 (permalink)  
Antiguo 09/10/2008, 08:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

Ese código ya lo hace, valida si es una ruta válida y a la vez, solo devuelve True cuando el archivo existe .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 09/10/2008, 08:42
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

perfecto!!!
  #7 (permalink)  
Antiguo 09/10/2008, 09:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

perdonad, estoy aqui de nuevo.
en el caso que la celda valga "" me devuelve tambié true.

¿Cómo lo solucionamos?


Gracias!!!!
  #8 (permalink)  
Antiguo 09/10/2008, 09:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

Solo agrega una condicional para saber si está vacía:
Código vb:
Ver original
  1. Function ValidarRuta(Ruta As String) As Boolean
  2. On Error Resume Next
  3. ValidarRuta = (Dir(Ruta) <> "" And Ruta <> "")
  4. End Function
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 09/10/2008, 09:11
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

bueno, no sé si será la mejor forma, pero he añadido esto a la función de David el Grande

Código:
Function ValidarRuta(Ruta As String) As Boolean
    On Error Resume Next
    If Ruta = "" Then
        ValidarRuta = False
        Else
            ValidarRuta = (Dir(Ruta) <> "")
    End If
End Function
  #10 (permalink)  
Antiguo 09/10/2008, 09:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

Las dos formas hacen lo mismo, aunque yo lo puse resumido .

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 09/10/2008, 09:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

pues no me funcionaba,....
  #12 (permalink)  
Antiguo 09/10/2008, 09:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VBA - Saber si el valor de un campo es una ruta correcta

Yo lo probé y me funcionó perfectamente :
Código vb:
Ver original
  1. Function ValidarRuta(Ruta As String) As Boolean
  2. On Error Resume Next
  3. ValidarRuta = (Dir(Ruta) <> "" And Ruta <> "")
  4. End Function
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:21.