Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problemas al eliminar una cerpeta

Estas en el tema de Problemas al eliminar una cerpeta en el foro de Visual Basic clásico en Foros del Web. Tengo un problema cuando quiero eliminar una carpeta con FileSystemObject. dim z_fso As FileSystemObject 'Aqui sobreescrivo un archivo. esto va bien z_fso.CopyFile "F:\carpeta\dos.txt", "F:\nueva\dos.txt", True ...
  #1 (permalink)  
Antiguo 03/05/2007, 10:42
 
Fecha de Ingreso: mayo-2006
Mensajes: 29
Antigüedad: 18 años
Puntos: 0
Problemas al eliminar una cerpeta

Tengo un problema cuando quiero eliminar una carpeta con FileSystemObject.

dim z_fso As FileSystemObject

'Aqui sobreescrivo un archivo. esto va bien
z_fso.CopyFile "F:\carpeta\dos.txt", "F:\nueva\dos.txt", True

'Aqui borro el archivo de origen, esto va bien
z_fso.DeleteFile "F:\carpeta\dos.txt", False

'Aqui quiero borrar la carpeta de origen
m_fso.DeleteFolder "F:\carpeta"

Me da error 70 'Permiso Denegado'

No es problemas de permisos, estoy trabajando en un pendrive.

Saludos
  #2 (permalink)  
Antiguo 06/05/2007, 02:06
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años
Puntos: 4
Sonrisa Re: Problemas al eliminar una cerpeta

esto encontre en una web mira si te sirve algo el codigo;


Ejemplo que usa Fso ( FileSystemObject ) para eliminar un directorio con todos los archivos dentro, cosa que el comando Kill nos daría un error.


Para eliminar el directorio, se utiliza el método DeleteFolder, pasándole como parámetro el path de la carpeta a borrar

Nota: Para poder utilizar Fso debemos ir al menú referencias del Visual Basic y marcar la referencia Microsoft Scripting Runtime

O también lo podemos utilizar mediante automatización con CreteObject

'Variable de tipo Object
Dim fso As Object
' crear el objeto
Set fso = CreateObject("Scripting.FileSystemObject")


.. aunque en este ejemplo hay que especificar la referencia desde el menú de visual basic, ya que se crea con la palabra New



bueno empiieza el codigo:

CONTROLES QUE VAMOS A USAR:

Controles
1.- Un textbox llamado Text1 para escribir el path
2.- Un Commandbutton

CODIGO FUENTE EN UN FORM:

Option Explicit

' función que borra la carpeta
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''
Function Eliminar_Directorio(Path As String) As Boolean

On Error GoTo Error_Sub

'Variable de tipo file System Object
Dim fso As FileSystemObject

'Creamos la Nueva referencia Fso
Set fso = New FileSystemObject

'Le pasamos a DeleTeFolder el Path a eliminar
fso.DeleteFolder Path, True

If Err.Number = 0 Then
' Ok
Eliminar_Directorio = True
Set fso = Nothing
End If

Exit Function

Error_Sub:

MsgBox Err.Description, vbCritical

End Function

Private Sub Command1_Click()

If Text1 <> "" Then
' Msgbox de Confirmación de eliminación
If MsgBox("Seguro que se quiere borrar el directorio " & _
"indicado ??", vbQuestion + vbYesNo) = vbYes Then

' elimina la carpeta
If Eliminar_Directorio(Trim(Text1)) Then
MsgBox "Directorio eliminado", vbInformation
End If
End If
End If
End Sub

Private Sub Form_Load()
Command1.Caption = " Eliminar "
End Sub




SALU2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:08.