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

nieuwe map maken en dan een bestand hier na to kopieren

Status
Niet open voor verdere reacties.

matizje

Gebruiker
Lid geworden
1 okt 2015
Berichten
16
Hallo,

ik gebruik onderstaande macro om een nieuwe mao met submappen aan te maken:

Sub CreateFolder()
Dim NewFolder As String
NewFolder = "Z:\Ronald\Klantdossier digitaal\Klantdossier 2023" & Range("b1")
If Len(Dir(NewFolder, vbDirectory)) = 0 Then
MkDir NewFolder
MkDir NewFolder & "\Bestellingen"
MkDir NewFolder & "\Factuur"
MkDir NewFolder & "\Inmeting"
MkDir NewFolder & "\ISO"
MkDir NewFolder & "\Montageinstructies"
MkDir NewFolder & "\Opdracht"
MkDir NewFolder & "\Oplevering"
Else
MsgBox "Folder already exists"
End If
End Sub

Nu wil ik graag na het aanmaken van de nieuwe map hier een bestand naar toe kopiëren

Het bestand staat bijvoorbeeld op C:\testmap en heet testformulier.xls

welke aanvulling moet ik maken op bovenstaande macro
 
Kijk eens naar:

Name … as ….
 
dan kom ik niet verder dan het huidige bestand op te slaan??????????
 
Of:
Code:
FileCopy Bronbestand, Doelbestand

Dus bijvoorbeeld:
Code:
FileCopy "C:\testmap\testformulier.xls", NewFolder & "\Bestellingen\testformulier.xls"
 
Laatst bewerkt:
Gebruik bestandsnamen om documenten van elkaar te onderscheiden ( _Bestellingen_001.xlsx, \Bestellingen_002.xlsx); maak niet overal een subdirectory aan. Een harde schijf is geen dossierkast.
Maar zelfs alle bestellingen, facturen, opleveringen, opdrachten kun je beter in slechts 1 werkblad onderbengen.
 
Ik maak mappen altijd met een batch file. Via Word en kladblok.
 
te voorbarig

Sorry, maar ik was te voorbarig, het lukt nog niet zoals ik wil.
Ik heb nu de volgende macro:

Sub CreateFolder()
Dim NewFolder As String
NewFolder = "Z:\Ronald\Klantdossier digitaal\Klantdossier 2023" & Range("b1")
If Len(Dir(NewFolder, vbDirectory)) = 0 Then
MkDir NewFolder
MkDir NewFolder & "\Bestellingen"
MkDir NewFolder & "\Factuur"
MkDir NewFolder & "\Inmeting"
MkDir NewFolder & "\ISO"
MkDir NewFolder & "\Montageinstructies"
MkDir NewFolder & "\Opdracht"
MkDir NewFolder & "\Oplevering"
FileCopy "C:\testmap\testformulier.xls", NewFolder & "\testformulier.xls"
Else
MsgBox "Folder already exists"
End If
End Sub

het aanmaken van de nieuwe mappen gaat perfect alleen het kopiëren van het bestand niet. Ik krijg ook geen foutmelding.
Waar maak ik een fout
 
Als NewFolder al bestaat wordt de kopieeractie niet uitgevoerd, is dat het geval?
 
de bedoeling is dat het bestand wordt gekopieerd naar de NewFolder die net is aangemaakt.
 
Dat begrijp ik, maar dat is niet het antwoord op mijn vraag.
Overigens werkt jouw macro (met uiteraard andere mappen) bij mij vlekkeloos, dus ik snap het ook niet.
 
Laatst bewerkt:
ik heb nu de macro even simpeler gemaakt en nu werkt het perfect.

Sub CreateFolder()
Dim NewFolder As String
NewFolder = "C:\test" & Range("b1")
If Len(Dir(NewFolder, vbDirectory)) = 0 Then
MkDir NewFolder
MkDir NewFolder & "\Bestellingen"
FileCopy "C:\kladblok.txt", NewFolder & "\kladblok.txt"
Else
MsgBox "Folder already exists"



End If
End Sub


Geen idee waar de fout zat en of het aan het feit lag dat de NewFolder al bestond.
Vanuit deze macro kan ik nu verder werken, THX voor de info en moeite
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan