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

Map structuur

Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.187
Beste,

Ik wil een map structuur aanleggen in windows verkenner.
Ik heb in excel een lijst met Debnr. en namen, dit zijn er pakweg 1500 stuks.

Ik heb een standaard map die heet klanten met daarin submappen.
Nu wil ik dat elke debiteur een eigen map krijg zoals mijn map klanten.
Dus als ik in mappen spreek:

123456 Klant1
654321 Klant 2

Is het mogelijk automatisch mappen aan te makken en met als sjabloon de map klanten.

Bijvoorbaat mijn dank.

HWV
 
HWV,

Speel hier eens mee:

Code:
Sub MappenStructuurAanmaken()
    ChDir ("C:\Temp")
    MkDir ("123456 Klant1")
    MkDir ("654321 Klant2")
End Sub

P.s.: dat van die sjabloon moet je nog maar eens uitleggen!

Grtz.
 
Laatst bewerkt:
Script gevonden

Beste,

Ik heb nu net een script gevonden die aardig in de richting komt.
Code:
Sub MakeDirs()
Dim MyRange As String
MyRange = Range("C1")
Dim vFolderList As Variant, i As Long
vFolderList = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Value
On Error Resume Next
For i = 1 To UBound(vFolderList, 1)
    MkDir MyRange & vFolderList(i, 1)
Next
End Sub
Deze maakt dir. aan vanuit een excel lijst ( werkt goed )
Wat ik graag wil is het volgende.
Ik heb een map ( sjabloon ) met daarin verschillende sub mappen.
Deze map ( sjabloon) deze heet klant.
Nu wil ik deze map ongeveer 1500 keer maken maar met telkens een andere naam.
dus
123456 klant 1
654321 klant 2

Ik hoop dat ik het nu duidelijk mijn vraag heb geforuleerd, zoniet hoor ik dit graag .

Groet HWV
 
HWV,

Als ik het goed begrijp.

Wat jij wilt is niet een map aanmaken maar een map met submappen, jouw sjabloon, kopieren en dan de naam veranderen.

Sjabloon met de mappen In, Uit, Nieuw, Verlopen

En dat moet dan worden:

123456 Klant1 met de mappen In, Uit, Nieuw, Verlopen
112233 Klant2 met de mappen In, Uit, Nieuw, Verlopen
654321 Klant3 met de mappen In, Uit, Nieuw, Verlopen

Ik hoor het wel.

Grtz.
 
Code:
Sub tst()
  For Each cl In Columns(1).SpecialCells(xlCellTypeConstants)
    CreateObject("scripting.filesystemobject").copyfolder "C:\klant", "C:\" & cl.Value
  Next
End Sub
 
Beste,

Ik heb een standaard map die heet klanten met daarin submappen.
Nu wil ik dat elke debiteur een eigen map krijg zoals mijn map klanten.
Dus als ik in mappen spreek:

Beste HWV , dit versta ik uit je vraag zie bijlage
 

Bijlagen

  • map structuur.jpg
    map structuur.jpg
    91,3 KB · Weergaven: 90
Begrepen

Beste,

Wat ik bedoel te bereiken is inderdaad wat trucker10 laat zien.
Ik heb ook het script geprobeerd van SNB , maar wat ik ook doe hij geef aan dat hij het pad niet kan vinden.
trucker10 heb juij hier een script voor.

Groet HWV
 
Beste,

Wat ik bedoel te bereiken is inderdaad wat trucker10 laat zien.
Ik heb ook het script geprobeerd van SNB , maar wat ik ook doe hij geef aan dat hij het pad niet kan vinden.
trucker10 heb juij hier een script voor.

Groet HWV

Helaas , niet ! Ik heb enkel heb voorbeeldje gepost omdat ik vermoede dat je deze structuur ( opzet ) wou . Kan nu een aanzet zijn voor de VBA'ers om hiervoor de gepaste code te schrijven , of het zal lukken ? aanmaken map met submappen ? zal mijn inziens al een heel progje worden .
 
Laatst bewerkt:
Ik heb de code van snb ook getest en die werkt als een zonnetje hoor :thumb:

In die code heeft hij als voorbeeld "c:\klant" gebruikt.

Als jouw sjabloon in een andere map staat, moet je dat in de code wel aanpassen.
Anders krijg je inderdaad de melding dat het pad niet gevonden kan worden.

Stel jouw sjabloon met submappen staat bij jou in "d:\klantjes"
De code van snb zou je dan als volgt moeten aanpassen :

Code:
Sub tst()
  For Each cl In Columns(1).SpecialCells(xlCellTypeConstants)
    CreateObject("scripting.filesystemobject").copyfolder "d:\klantjes", "D:\" & cl.Value
  Next
End Sub

Ik denk dat daar ergens de oplossing van je probleem ligt.

Veel succes :thumb:
 
Ik heb de code van snb ook getest en die werkt als een zonnetje hoor :thumb:

In die code heeft hij als voorbeeld "c:\klant" gebruikt.

Als jouw sjabloon in een andere map staat, moet je dat in de code wel aanpassen.
Anders krijg je inderdaad de melding dat het pad niet gevonden kan worden.



Ik denk dat daar ergens de oplossing van je probleem ligt.

Hallo Mr Tinkertrain , ik ben nogal leergierig en heb ook een poging gedaan om de code van SNB :)thumb:)werkende te krijgen . Wat doen we verkeerd ?
Ik heb een map aangemaakt op mijn C schijf in die map heb ik een submap aangemaakt met een sjabloon , ook heb ik de sjabloon in de hoofdmap gezet als test , daarna de sjabloon geopend ALT F8 gedaan > uitvoeren en ik krijg ook de melding kan het pad niet vinden . Wat er wel gebeurt is dat er een nieuwe map in de C drive is aangemaakt zijnde test . Zie de bijgevoegde jpg's
 

Bijlagen

  • 1.jpg
    1.jpg
    90 KB · Weergaven: 75
  • 2.jpg
    2.jpg
    94 KB · Weergaven: 74
Laatst bewerkt:
Ik heb , net als in de code van SNB, een map aangemaakt , C:\klant.
In die map heb ik een aantal submappen aangemaakt, genaamd "aaa", "bbb", "ccc"
In die submappen heb ik een aantal bestandjes geplaatst (wat plaatjes en wat mp3-bestanden).
Vervolgens heb ik in kolom A van m'n werkblad een aantal mapnamen gezet, waarnaar de gehele inhoud van de map C:\klant naartoe moet worden gekopieerd.
Ik heb er 6 namen ingezet, namelijk "aa" , "bb" enz. t/m "ff"

Vervolgens heb ik de code van SNB uitgevoerd en werden keurig die 6 nieuwe mappen aangemaakt, inclusief alle submappen en alle plaatjes en mp3-bestanden die in de sjabloonmap C:\klanten staan.

Zie screenshot als voorbeeld.

Ik kan er ff niet zo gauw de vinger op leggen waarom het bij jullie niet werkt, maar de code van SNB werkt in ieder geval wel
 

Bijlagen

  • Screenshot.jpg
    Screenshot.jpg
    26,6 KB · Weergaven: 69
Ik kan er ff niet zo gauw de vinger op leggen waarom het bij jullie niet werkt, maar de code van SNB werkt in ieder geval wel

Thanks Mr Tinkertrain voor de uitleg :thumb:, ik heb nu de sjabloon in de hoofdmap gezet en hij doet het ook :), of komt het doordat ik het bestandje heb afgesloten en nu terug geopend ??
 
Code:
Sub tst()
  For Each cl In Columns(1).SpecialCells(xlCellTypeConstants)
    CreateObject("scripting.filesystemobject").copyfolder "C:\klant", "C:\" & cl.Value
  Next
End Sub

Wanneer werkt deze code ?
- als de map "C:\klant" bestaat
- als deze macro in de macromodule staat van een werkblad van een Excel bestand
- als in kolom A van het werkblad waarin de VBA-code staat geldige namen voor mappen staan.

Als deze macro niet in de macromodule van het werkblad staat moet je verwijzen naar het werkblad met de gegevens in kolom A
Code:
Sub tst()
  For Each cl In [COLOR="Blue"]sheets(1).[/COLOR]Columns(1).SpecialCells(xlCellTypeConstants)
    CreateObject("scripting.filesystemobject").copyfolder "C:\klant", "C:\" & cl.Value
  Next
End Sub

Als deze macro niet in een macromodule van het bestand (werkboek) met het werkblad staat moet je verwijzen naar het bestand (werkboek)met het werkblad met de gegevens in kolom A
Code:
Sub tst()
  For Each cl In [COLOR="Blue"]Workbooks(2).sheets(1).[/COLOR]Columns(1).SpecialCells(xlCellTypeConstants)
    CreateObject("scripting.filesystemobject").copyfolder "C:\klant", "C:\" & cl.Value
  Next
End Sub
 
Wanneer werkt deze code ?
- als de map "C:\klant" bestaat
- als in kolom A van het werkblad waarin de VBA-code staat geldige namen voor mappen staan.

Ik denk dat in deze toepassing een functie die test op het bestaan van een map, niet zou misstaan. Een typo bvb. is zo gemaakt.

Wigi
 
Code:
Sub tst()
  For Each cl In Sheets(1).Columns(1).SpecialCells(xlCellTypeConstants)
    CreateObject("scripting.filesystemobject").copyfolder "D:\mappen test\Klanten\Standaard map", "D:\mappen test\Klanten\" & cl.Value
  Next
End Sub

Ik heb het script geplaatst in mijn werkmap ( in plaats van een module.)
Kreeg de eerste keer weer een melding pad niet gevonden fout 76.Maar na eigenwijs door proberen is het toch gelukt.

Ik wil een ieder bedanken voor deelname aan deze forum en SNB bedankt voor de uitleg en het script

Groet HWV
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan