............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

problemas al cargar una imagen

Ver el tema anterior Ver el tema siguiente Ir abajo

problemas al cargar una imagen

Mensaje por xanxo el Sáb Mar 28, 2015 5:30 pm

Buenos días Foreros:
Tengo un código para cargar imágenes en un control image de un Form, las imágenes están en la misma carpeta que el libro pero si no existe la imagen da un error, he intento solucionarlo poniendo una imagen que la llamo "BLANC.GIF" que en realidad solo pone imagen no disponible, "ruta" es para cuando la imagen existe y si no encuentra el nombre (que lo busca en el textbox13) debería coger la ruta2 que es el blanco el problema esta en que ignora el "false" y da error 53 en tiempo de ejecución "archivo no encontrado" y no se que es lo que hago mal, si alguien me lo puede revisar le estaré muy agradecido.
Otra pregunta sobre el mismo tema es ¿se puede hacer lo mismo pero que las imágenes no estén en la misma carpeta que el libro? me seria mas practico tenerlas todas juntas en una carpeta paralela pues en la del libro tengo otros archivos "varios" .

Private Sub TextBox13_Change()
'busco i coloco la imatge
'el archivo de imagen se encontrará en la misma carpeta que el libro activo
Image1.Visible = True

  Dim ruta
  Dim ruta2
  Dim Nom
  Dim Nom2

Nom = TextBox13
Nom2 = "BLANC"
ruta = ThisWorkbook.Path & "\" & [Nom] & ".Gif"
ruta2 = ThisWorkbook.Path & "\" & [Nom2] & ".Gif"

If ruta = False Then
Image1.Picture = LoadPicture(ruta2)
Else
Image1.Picture = LoadPicture(ruta)
End If
End Sub

Mil gracias de antemano por vuestro tiempo

xanxo

Masculino Cantidad de envíos : 6
Edad : 55
Ciudad - Pais : s.c. tenerife
Version de Excel : 2010
Fecha de inscripción : 27/03/2015

Volver arriba Ir abajo

Re: problemas al cargar una imagen

Mensaje por moises melgar el Dom Mar 29, 2015 12:57 am

Para validar si un archivo existe se usa la funcion DIR

cito una parte de la ayuda de microsoft sobre la funcion
"Dir (Función)
PathName
   Opcional. Expresión de tipo String que especifica un nombre de archivo, un nombre de directorio o carpeta, o la etiqueta de volumen de la unidad. Se devuelve una cadena de longitud cero ("") si no se encuentra PathName. "

Len (es la funcion largo de excel en VBA)

Código:
Private Sub TextBox13_Change()
If Len(Dir(ThisWorkbook.Path & "/" & TextBox13.Text & ".gif")) = 0 Then
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\BLANC.gif")
Else:
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & TextBox13.Text & ".gif")
End If
End Sub

con respecto a la pregunta de las ubicaciones:
ThisWorkbook.Path = Ubicacion del libro que ejecuta la macro (este lo puede ver en propiedades del libro)
ejemplo si mi libro "userform (imagenes).xlsm" tiene como ruta "C:\Users\Moises\Documents\Foro Excel\userform (imagenes).xlsm" se puede acortar usando: ThisWorkbook.Path & "\userform (imagenes).xlsm"
donde ThisWorkbook.Path en ese caso seria "C:\Users\Moises\Documents\Foro Excel"
asi de la misma manera si existiera un archivo en una carpeta diferente podria decir la ruta:
"C:\Users\Moises\Documents\Foro Excel\varios\archivo.gif"
para acortarlo se usaria:
ThisWorkbook.Path & "\varios\archivo.gif"

pero si los archivos a usar se encuentran en una ruta cuya ubicacion es diferente a la del libro base, entonces se tendria que colocar toda la ruta del libro (se puede copiar de la barra de direccion de la carpeta donde se encuentre el archivo o en propiedades del archivo)

moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: problemas al cargar una imagen

Mensaje por xanxo el Dom Mar 29, 2015 2:07 pm

Mil gracias de nuevo, no sabia nada de lo que me cuentas sobre las funciones DIR y LEN, con gente como tu que además de responder a la duda enseñáis a sembrar de una forma tan didáctica al final acabaremos aprendiendo los tochos como yo ..... jejejeje
Reitero mil gracias

xanxo

Masculino Cantidad de envíos : 6
Edad : 55
Ciudad - Pais : s.c. tenerife
Version de Excel : 2010
Fecha de inscripción : 27/03/2015

Volver arriba Ir abajo

Re: problemas al cargar una imagen

Mensaje por Contenido patrocinado Hoy a las 1:33 pm


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.