10/04/2008, 08:51
|
| | | Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 4 meses Puntos: 18 | |
Re: abrir carpetas Prueba esta rutina, creo que funciona:
Private Sub Comando0_Click()
Dim Retval
'abrimos la carpeta
Retval = Shell("explorer.EXE /e, /root," & RutaCarpeta(Me.Texto0), 1)
End Sub
Public Function RutaCarpeta(NomCarpeta As String) As String
Dim Ruta As String
Dim Digitos(1 To 4) As String
'Guardamos por separado los digitos en el array
For i = 1 To Len(NomCarpeta)
Digitos(i) = Mid(NomCarpeta, i, 1)
Next
Ruta = "D:\GENERAL EMPRESA\CLIENTES\Presupuestos\" 'del 1000 al 1999\1400-1499\1400-1409\1400
'Si el primer digito del numero pasado como string es un 0, primera carpeta. si es un 1, segunda carpeta
If Digitos(1) = 0 Then
Ruta = Ruta & "del 0001 al 0999\"
Else
Ruta = Ruta & "del 1000 al 1999\"
End If
'Añadimos la carpeta correspondiente al segundo digito
Ruta = Ruta & "del " & Digitos(1) & Digitos(2) & "00 al " & Digitos(1) & Digitos(2) & "99\"
'Añadimos la carpeta correspondiente al tercer digito
Ruta = Ruta & "del " & Digitos(1) & Digitos(2) & Digitos(3) & "0 al " & Digitos(1) & Digitos(2) & Digitos(3) & "9\"
'Por ultimo añadimos la carpeta pasada como parametro
Ruta = Ruta & NomCarpeta
'Y se lo devolvemos a la funcion
RutaCarpeta = Ruta
End Function
La funcion pegala en un modulo, y en el ejemplo Me.Texto0 es un cuadro de texto donde estaria el numero de la carpeta (1400)
Un saludo |