• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

verplaatsen map en map verwijderen met geopend bestand.

Status
Niet open voor verdere reacties.

markwat

Gebruiker
Lid geworden
11 mrt 2011
Berichten
301
Heb dit gevonden maar krijg de map met het geopende bestand niet weg.



HTML:
        Vanaf = Left(Vanaf, Len(Vanaf) - 1)
    End If

    If Right(Naar, 1) = "\" Then
        Naar = Left(Naar, Len(Naar) - 1)
    End If

    Set FSO = CreateObject("scripting.filesystemobject")

    If FSO.FolderExists(Vanaf) = False Then
        MsgBox Vanaf & " doesn't exist"
        Exit Sub
    End If

    FSO.CopyFolder Source:=Vanaf, Destination:=Naar
End Sub

Sub VerwijderAllesInFolder(Vanaf As String)
'Alle bestanden en submappen verwijderen
'Zorg ervoor dat er geen bestand in de map is geopend
    Dim FSO As Object
    
    Set FSO = CreateObject("scripting.filesystemobject")

    If Right(Vanaf, 1) = "\" Then
        Vanaf = Left(Vanaf, Len(Vanaf) - 1)
    End If

    If FSO.FolderExists(Vanaf) = False Then
        MsgBox Vanaf & " doesn't exist"
        Exit Sub
    End If

    On Error Resume Next
    'Delete files
    FSO.deletefile Vanaf & "\*.*", True
    'Delete subfolders
    FSO.DeleteFolder Vanaf & "\*.*", True
    On Error GoTo 0

End Sub

 Sub VerwijderFolder(FolderTeVerwijderen As String)
    
    Dim FSO As New FileSystemObject
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    On Error Resume Next
    
    FSO.DeleteFolder FolderTeVerwijderen, False

End Sub
 
Dat is hopelijk niet het bestand waar je de code laat draaien, maar gewoon een bestand in de map die je wilt verplaatsen?

Het rode gedeelte aanpassen.
De map "mapnaam" gaat van je desktop naar je documenten in dit voorbeeld.
Code:
Sub hsv()
Dim s0 As String, a, i As Long
s0 = [COLOR=#ff0000]"c:\users\markwat\desktop\mapnaam"[/COLOR]
  a = Split(CreateObject("wscript.shell").exec("cmd /c Dir """ & s0 & "\*.xls""/b/o:n/s").stdout.readall, vbCrLf)
 For i = 0 To UBound(a) - 1
   GetObject(a(i)).Close
 Next i
CreateObject("scripting.filesystemobject").movefolder s0, [COLOR=#ff0000]"c:\users\markwat\documents\"[/COLOR]
End Sub
 
Best Harry,

Ja het staat wel in een bestand, en het bestand staat in de map die gekopieerd/verwijderd word.
Word het dan een probleem?.
Vandaar dat eerst de map met alles daaronder gekopieerd word naar een andere map en vervolgens moet de hele map verwijderd worden..
 
dit is wat het aanstuurt

HTML:
If Sheetnaam = "bolwerk" Then
        Call KopieerFolder(Application.ActiveWorkbook.Path, Replace(Application.ActiveWorkbook.Path, "offertes", "Afgehandeld"))
        Call VerwijderFolder(Application.ActiveWorkbook.Path)
    End If
End If
 
De code die ik heb gepost verplaatst de gehele map.
Staat er een bestand open van die map die verplaatst moet worden, wordt deze eerst gesloten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan