Ayuda con ruta de una carpeta

Tengo el siguiente código, que me hace lo siguiente al digitar un código en un campo de texto y al entrar en el siguiente campo si existe una imagen con ese código me la carga en un campo de image.. El problema es que la ruta que tengo para buscar en la carpeta, si me llevo el trabajo a tro lado de una vez se me daña y no encuentra nada,,, Hay una forma de poner en esta linea, una ruta o path que se dinámica digamos así, ¿qué no importa para donde la lleve siempre y cuando el programa y las imágenes estén en la misma carpeta funcione?
Cambiar esa dirección fija por una dirección me reconozca la ruta no importa si cambio la carpeta de lugar.
Dire = "C:\Documents and Settings\usuario\Escritorio\Historias\"
Private Sub Text22_GotFocus()
medico Me.Text8.Text
Dim Dire As String
Dim ext As String
Dire = "C:\Documents and Settings\usuario\Escritorio\Historias\"
ext = ".jpg"
On Error Resume Next
Me.Image1.Picture = LoadPicture(Dire & Me.Text8 & ext)
If Err.Number = 53 Then
Image1.Picture = LoadPicture("")
End If
End Sub

1 Respuesta

Respuesta
1
Dire = ThisWorkBook.Path & "\"
Olvide decir que esto es si lo haces en Excel, si es VB6 cambia elThisworkbook. Path por App. Path
Dire = "C:\Documents and Settings\usuario\Escritorio\Historias\"
Esta es la ruta que quiero cambiar,
Lo que no se es como aplicar App.Path para que si llevo la carpeta a otro lado me siga buscando la imagen asiciada al numero digitado.
App. Path te da la ruta completa de tu Aplicación, sin importar si la mueves de lugar, si originalmente esta en C: y luego la mueves a D: o a C:\Mis Documentos o a donde sea, App. Path te da la Ruta donde este actualmente el programa.
Dire = App.Path
¿Lo puse de la siguiente forma y no me funciona me faltara algo?
Private Sub Text22_GotFocus()
medico Me.Text8.Text
Dim Dire As String
Dim ext As String
'Directorio hacia la imagenes
'Dire = "C:\Historias\"
Dire = App.Path
'Extención de las imágenes
ext = ".jpg"
     'Establecer la prueba de error
On Error Resume Next
Me.Image1.Picture = LoadPicture(Dire & Me.Text8 & ext)
If Err.Number = 53 Then
Image1.Picture = LoadPicture("")
End If
End Sub
Intenta cambiando esta linea:
Dire = App.Path
por
Dire = App.Path & "\"
Algo que puedes hacer y que generalmente es necesario hacer cuando estas realizando un programa, es usar el modo ejecutar por pasos o no recuerdo como se llama exactamente, poniendo algún punto de interrupción en donde tienes duda, o ejecutando el programa con F8 y ves paso a paso los valores que toman las variables. O también a veces puedes poner un MsgBox y mostrar el valor de alguna variable que tengas duda, como en este caso:
MsgBox(App.Path)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas