Amigos del foro si alguien tiene un ejemplo de como crear carpetas con un macro que como primer punto, si la carpeta no existe la cree y si ya existe solo guarde la informacion que se creara como backup...
slds,
Fernando

Sub test()
Dim Ruta As String, Directorios, i As Long, x As String
Ruta = "c:\temp\prueba\carpeta\test"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then
Respuesta = MsgBox( _
"La carpeta no existe. Desea crearla?", _
vbExclamation + vbOKCancel)
If Respuesta = vbCancel Then Exit Sub
On Error GoTo 0
Directorios = Split(Ruta, "\"): Ruta = ""
For i = LBound(Directorios) To UBound(Directorios)
Ruta = Ruta & Directorios(i) & "\"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then MkDir Ruta
On Error GoTo 0
Next i
End If
End Sub

Sub test()
Dim Ruta As String
Dim Directorios
Dim i As Long
Dim x As String
Dim Archivo As String
Ruta = "c:\Backup\Diario"
Archivo = "Backup.xls"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then
Respuesta = MsgBox( _
"La carpeta no existe. Desea crearla?", _
vbExclamation + vbOKCancel)
If Respuesta = vbCancel Then Exit Sub
On Error GoTo 0
Directorios = Split(Ruta, "\"): Ruta = ""
For i = LBound(Directorios) To UBound(Directorios)
Ruta = Ruta & Directorios(i) & "\"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then MkDir Ruta
On Error GoTo 0
Next i
End If
Sheets(Array(Sheets(1).Name, Sheets(2).Name)).Copy
On Error Resume Next
With ActiveWorkbook
.SaveAs IIf(Right(Ruta, 1) = "\", Ruta, Ruta & "\") & Archivo
If Err.Number <> 0 Then .Close False Else .Close True
End With
End Sub



Sub test()
Dim Ruta As String
Dim Directorios
Dim i As Long
Dim x As String
Dim Archivo As String
Ruta = "c:\Backup\Diario"
Archivo = "Backup.xls"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then
Respuesta = MsgBox( _
"La carpeta no existe. Desea crearla?", _
vbExclamation + vbOKCancel)
If Respuesta = vbCancel Then Exit Sub
On Error GoTo 0
Directorios = Split(Ruta, "\"): Ruta = ""
For i = LBound(Directorios) To UBound(Directorios)
Ruta = Ruta & Directorios(i) & "\"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then MkDir Ruta
On Error GoTo 0
Next i
End If
Sheets(Array(Sheets(1).Name, Sheets(2).Name)).Copy
On Error Resume Next
With ActiveWorkbook
.SaveAs IIf(Right(Ruta, 1) = "\", Ruta, Ruta & "\") & Archivo
If Err.Number <> 0 Then .Close False Else .Close True
End With
End Sub
#If Not VBA6 Then
Function Split(Cadena As String, Delimitador As String) As Variant
Split = Evaluate("{""" & Application.Substitute(Cadena, Delimitador, """,""") & """}")
End Function
#End If

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados