Creación masiva de carpetas en excel
Tengo el código (al final) que debería ejecutar la siguiente secuencia.
1- Leer primera línea de la hoja de calculo
2- Verificar si existe carpeta
- Si no existe
- crear carpeta
- Crear TXT
- Añadir líneas al txt
- >Si existe
- Verificar si existe txt
- Si no existe
- Crear TXT
- Añadir líneas al txt
- Si existe
- Añadir líneas al txt
- Si no existe
- Verificar si existe txt
3- Leer siguiente línea de la hoja de calculo e ir a 2, si es la ultima, seguir en 4
4- Mostrar mensaje de "Exportación finalizada"
_
Esto lo he representado con el siguiente código,¿Puede alguien revisarlo e indicarme donde esta el error?.
Private Sub CreacionMasivaCarpetas()
Set h0 = Sheets("Datos")
Set h1 = Sheets("DateUser")
i = h0.Range("A" & .Rows.Count).End(xlUp).Row
For i = 1 To i
Ruta = "G:\IMMOBLES_B\EXPEDIENTS_0\" & h0.Cells(i, "G") & "\" & h0.Cells(i, "H")
docu = "Anotacions.txt"
x = Dir(Ruta, vbDirectory)
If x = "" Then
Dim obj As Object
Dim car As Variant
Set obj = CreateObject("WScript.Shell")
car = Ruta
Set obj = Nothing
Set obj = CreateObject("Scripting.FileSystemObject")
If obj.FolderExists(car) = False Then obj.CreateFolder (car)
Set obj = Nothing
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(Ruta & "\" & docu, True)
a.WriteLine h1.Cells(1, "A").Value & " - " & h1.Cells(2, "A").Value
a.WriteLine "Es crea l'arxiu d'anotacions."
a.Close
Open Ruta & "/" & docu For Append As #1
Print #1,
Print #1, h0.Cells(i, "B").Value & " - " & h0.Cells(i, "C").Value
Print #1, h0.Cells(i, "D").Value & " - " & h0.Cells(i, "E").Value
Print #1, h0.Cells(i, "F").Value
Close #1
Else
Dim MyFile As String
MyFile = Dir(Ruta & "\" & docu)
If MyFile <> "" Then
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(Ruta & "\" & docu, True)
a.WriteLine h1.Cells(1, "A").Value & " - " & h1.Cells(2, "A").Value
a.WriteLine "Es crea l'arxiu d'anotacions."
a.Close
Open Ruta & "/" & docu For Append As #1
Print #1,
Print #1, h0.Cells(i, "B").Value & " - " & h0.Cells(i, "C").Value
Print #1, h0.Cells(i, "D").Value & " - " & h0.Cells(i, "E").Value
Print #1, h0.Cells(i, "F").Value
Close #1
Else
Open Ruta & "/" & docu For Append As #1
Print #1,
Print #1, h0.Cells(i, "B").Value & " - " & h0.Cells(i, "C").Value
Print #1, h0.Cells(i, "D").Value & " - " & h0.Cells(i, "E").Value
Print #1, h0.Cells(i, "F").Value
Close #1
End If
End If
Next i
MsgBox ("Exportacion finalizada")
End Sub