• 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.

Opgelost vba commando om gedeelte van een map te kopieren

Dit topic is als opgelost gemarkeerd

brejen

Gebruiker
Lid geworden
21 apr 2007
Berichten
121
Hallo, via vba wil ik de inhoud van een map kopieren naar een andere plaats maar met uitzondering van één bestand uit die map; Iemand een idee hoe ik dat moet doen? Alvast bedankt.
 
Kopieer de hele map en verwijder daarna het bestand uit de gekopieerde map.
 
in vba:

Code:
Sub jec()
 Dim baseFolder, destFolder, fName
 baseFolder = "C:\Users\xxx\Downloads\test1\"
 destFolder = "C:\Users\xxx\Downloads\test2\"
 
 fName = Dir(baseFolder & "*")
 
 Do While fName <> ""
   If fName <> "blabla.xlsx" Then Name baseFolder & fName As destFolder & fName
   fName = Dir
 Loop
 
End Sub
 
bedankt Jec, ga ik proberen.
@ Ahulpje, dat lijkt het eenvoudigste maar het is net een probleem om die ene file (veel te groot) te kopieren. Ik wil dus de map kopieren zonder die file.
 
dag Jec, als ik jouw routine gebruik worden de bestanden verplaatst ipv gekopieerd. Hoe kan ik alles kopieren naar een andere map maar dat met uitzondering van 1 bestand in de bronmap?
 
Zo:
Code:
Sub KopieerMap()
    Dim FSO As Object
    Dim VanMap As String
    Dim NaarMap As String
    Dim Bestand As Object

    VanMap = "c:\vanmap\"
    NaarMap = "d:\naarmap\"
  
    Set FSO = CreateObject("Scripting.FileSystemObject")

    For Each Bestand In FSO.GetFolder(VanMap).Files
        Debug.Print Bestand.Name
        If Bestand <> "tegroot" Then Bestand.Copy NaarMap
    Next Bestand
End Sub
Je zou ook kunnen testen op bestandsgrootte:
Code:
If Bestand.Size < 1000000 Then Bestand.Copy NaarMap
 
hebben alle te kopiëren bestanden een gemeenschappelijk kenmerk, dat het uit te zonderen bestand niet heeft ?
Kopieer alle .x bestanden uit G:\OF\ naar F:\

Code:
shell "cmd copy G:\OF\*.x* F:\"

De suggestie van Ahulpje kan natuurlijk ook als je niet de bestanden kopieert maar de hele directory.
Code:
createobject("scripting.filesystemobject").copyfolder "G:\OF\eerst\", G:\OF\laatst"
 
Ik heb in de routine 'tegroot' vervangen door de bestandsnaam van het bestand dat niet mag gekopieerd worden, maar helaas gebeurt dat wel. Alle bestanden van de bronmap werden gekopieerd. Wat doe ik verkeerd?
 
Ik heb het gevonden: If Bestand "tegroot" Then Bestand.Copy NaarMap moet zijn : If Bestand.Name "tegroot" Then Bestand.Copy NaarMap
 
beste, ik zou dit willen uitbreiden zodat twee bestanden uit een map niet gekopieerd worden en al de rest wel. Kan ik dat doen met OR:
If fName &lt;&gt; "blabla.xlsx" OR "blibli.xlsx"Then Name baseFolder &amp; fName As destFolder &amp; fName
Ik heb dit geprobeerd maar dat geeft een syntax probleem.
 
Code:
If Bestand.Name <> "tegroot" And Bestand.Name <> "ooktegroot" Then Bestand.Copy NaarMap
 

Nieuwste berichten

Terug
Bovenaan Onderaan