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

mappenstructuur copieren vanuit macro in excel... hoe?

Status
Niet open voor verdere reacties.

assessor

Gebruiker
Lid geworden
7 jan 2007
Berichten
184
Vanuit een Excel invulformulier wil ik aan de hand van het ingevulde:

1) Een map aanmaken waarvan het pad bestaat uit een vast deel en drie variabele mappen (afhankelijk van de invoer in drie verschillende cellen)
I:\BM_H14\Projecten\T-check\ cell K2 \ cell A1 \ cell K1
2) Mappenstructuur copieren naar deze nieuwe map = cell K1
3) Het excel formulier opslaan in deze zelde nieuwe map = cell K1

Punten 1 en 3 geen probleem
Maar punt 2 krijg ik niet voor elkaar.
Hoe kan ik dit met VB voor elkaar krijgen
xcopy /q /s /i I:\BM_H14\Templates\T-check I:\BM_H14\Projecten\T-check\ cell K2 \ cell A1 \ cell K1

Hieronder wat ik tot nu toe met mijn gebrekkige VB kennis heb kunnen bereiken.

Code:
Sub CopyTemplates()

' Make folder based on data entry and copy template files

Dim stPath As String
With Sheets("Checklist")
    stPath = "I:\BM_H14\Projecten\T-check\"
stPath = stPath & .Range("K2").Value & "\"
    With CreateObject("Scripting.FileSystemObject")
        If Not .FolderExists(stPath) Then .CreateFolder stPath
    End With
stPath = stPath & .Range("A1").Value & "\"
    With CreateObject("Scripting.FileSystemObject")
        If Not .FolderExists(stPath) Then .CreateFolder stPath
    End With
stPath = stPath & .Range("K1").Value & "\"
    With CreateObject("Scripting.FileSystemObject")
        If Not .FolderExists(stPath) Then .CreateFolder stPath
    End With
' 
' "xcopy /q /e /i i:\bm_h14\templates\MaintChecks\C-check" stPath
'    
    ActiveWorkbook.SaveAs Filename:=stPath & .Range("K1").Value & ".xls"
End With
End Sub

De vele uren Googelen hebben mij nog niet dichter bij de oplossing gebracht.
Alle hulp welkom.
 
In Excel > 2003

Code:
Sub M_snb()
   With Sheets("Checklist")
       c00="I:\BM_H14\Projecten\T-check\" & .Range("K2").Value & "\" & .Range("A1").Value & "\" & & .Range("K1").Value & "\"
      CreateObject("shell.application").Namespace("I:").NewFolder mid(c00,3)

       Activeworkbook.saveas c00 & .Range("K1"),51
   end with
End Sub
 
Laatst bewerkt:
dank voor de snelle reactie snb,

ben bang dat ik niet helemaal duidelijk was
doet met veel minder code hetzelfde maar wel met Runtime error '5 (ga hier nog wel even mee spelen)
waar het mij nu om gaat is het deel wat ik niet werkend kan krijgen

ik wil aan het eind de volledige inhoud (bestanden, mappen, submappen en lege mappen) van de map "i:\bm_h14\templates\MaintChecks\C-check" copieren naar het nieuwe lokatie waar ook het excel bestand opgeslagen wordt.

Ik wou dit doen door een batch file met "xcopy /q /e /i i:\bm_h14\templates\MaintChecks\C-check ..... " aan te roepen maar dat gaat natuurlijk niet want mijn doelmap verandert steeds

Ik moet deze copieerbewerking dus geheel vanuit deze VB code doen maar hoe???
 
Had hier wat meer van verwacht.
Na veel puzzelen, googelen, en lezen opgelost...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan