Como puedo crear una carpeta y que tenga el nombre que le ponga en un textbox y que me pregunte si existe y si no existe crearla
2 Respuestas
Respuesta de diegofvillar
1
1
diegofvillar, Amplio conocimiento de programación (Técnico/Programador Access y...
Para crear una carpeta puedes hacer lo siguiente en un botón de comando: '--------------------------- Private Sub Command1_Click() Dim i As Integer Dim Array_Dir As Variant Dim Sub_Dir As String Dim El_Path As String El_Path = InputBox("Escriba la ruta del directorio a crear" & _ "con los subdirectorios", " Crear varios niveles de directorios") If El_Path = vbNullString Then Exit Sub 'Desglosa el path Array_Dir = Split(El_Path, "\") El_Path = vbNullString 'Recorre el array anterior para ir creando uno por uno For i = LBound(Array_Dir) To UBound(Array_Dir) Sub_Dir = Array_Dir(i) If Len(Sub_Dir) > 0 Then El_Path = El_Path & Sub_Dir & "\" If Right$(Sub_Dir, 1) <> ":" Then ' Verificamos que no exista If Dir$(El_Path, vbDirectory) = vbNullString Then 'Crea la carpeta Call MkDir(El_Path) End If End If End If Next i End Sub '---------------------------- Debes compilar conforme a lo que tu necesites, y conforme a lo que quieres como también debes colocar las validaciones al verificar que existe al final del código. Mayor información en: http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico7.htm http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/236-crear-directorio-y-subdirectorio.htm
Corro el codifo que me diste per me da error en la siguiente linea: Array_Dir = Split(El_Path, "\") en split
Yo lo he probado, y no me da error, incluso he agregado unas lineas adicionales para verificar que ya existe la carpeta. Seguramente no has colocado bien la dirección 'C:\TuCarpeta'. Verifica nuevamente y me avisas.
Ya cheque y me da el error en split me dice que no se ha definifo sub o function y lo otro que me dices de que no eh colocado bien la dirección eso es en el código en el inputbox que se abre, ¿no se si split debe estar declarado en algún lado?
Verifica las referencias. En el Access tengo: Visual Basic for Applications Microsoft Access 11.0 Object library Microsoft DAO 3.6 Microsoft ActiveX Data Objects 2.1 library Ole Automation En el Visual: Visual Basic for Applications Visual Basic Runtime Objects and Procedures Visual Basic Objects and procedures Ole Automation Chequea esos.