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

Twee mappen aanmaken

Status
Niet open voor verdere reacties.
Code:
Sub Knop4_Klikken()
   sn= Sheets("Voorblad").range("B2:D4")
   c00 = "Y:\test\Voorbladen" & sn(1,2) & "_" & sn(1,3) & "\" & sn(2,1) & "_" & sn(3,1)
   if dir(c00,16)="" then CreateObject("shell.application").Namespace(left(c00,2)).NewFolder mid(c00,4)

  ActiveWorkbook.SaveAs c00 & "\Voorblad_" & sn(2,1)& ".xlsm",52
End Sub

NB. Vermijd niet-alphanumerieke tekens ( en spaties) in padnamen/bestandsnamen. Als onvermijdelijk gebruik dan alleen de underscore: _

Jouw code doet waar ik naar op zoek ben. Hartstikke bedankt.

Wat mij opvalt is dat jouw code qua layout/gebruikte termen totaal niet lijkt op die van mij. Omdat ik sowieso moeite heb met het begrijpen van VBA ben ik zelf nog verder wezen stoeien....met resultaat.

Code:
Sub Knop7_Klikken()
Dim stPath As String
With Sheets("Voorblad")
    stPath = "Y:\test\"
          With CreateObject("Scripting.FileSystemObject")
          If Not .FolderExists(stPath) Then .CreateFolder stPath
          End With
    stPath = stPath & ("Voorbladen ") & .Range("C2") & (" - ") & .Range("D2") & "\"
          With CreateObject("Scripting.FileSystemObject")
          If Not .FolderExists(stPath) Then .CreateFolder stPath
          End With
    stPath = stPath & .Range("B3") & (" ") & .Range("B4") & "\"
          With CreateObject("Scripting.FileSystemObject")
          If Not .FolderExists(stPath) Then .CreateFolder stPath
          End With
          ActiveWorkbook.SaveAs Filename:=stPath & ("Voorblad ") & .Range("B3").Value & ".xlsm"
    End With
End Sub
 
Van goede adviezen schijn je je niet veel aan te trekken. :(
 
Wat bedoel je precies? Ik heb toch de adviezen gevolgd die mij gegeven zijn.

Ik hoor graag van je.
 
Ik heb de foutopsporing doorlopen. De vertaling die gegeven is lijkt mijns inziens correct.

Bekijk bijlage 299385
De vertaling zal correct zijn maar wij kunnen uiteraard niet zien of de betreffende mappen van links naar rechts, waarin je de laatste map wilt aanmaken, ook wel bestaat en toegankelijk is.
 
De vertaling zal correct zijn maar wij kunnen uiteraard niet zien of de betreffende mappen van links naar rechts, waarin je de laatste map wilt aanmaken, ook wel bestaat en toegankelijk is.

Op die fiets. Ik weet niet hoe ik dat zou kunnen testen dan wel aantonen. Wat ik nu gedaan heb is, na iedere map specificatie, de code .CreateFolder stPath neergezet. Dit heeft uiteindelijk ook tot het gewenste resultaat geleid.
 
Dit had ik er staan in mijn testbestandje (werkt perfect), maar het handmatig aanpassen (om c00 te verwijderen) zal waarschijnlijk niet goed zijn gegaan.
Er ontbrak sowieso een backslash.

Geïnteresseerden kunnen c00 aanpassen in "y:\test" of in eigen schijf en hoofdmap.
Code:
Sub hsv()
With Sheets("voorblad")
 c00 = "C:\users\hsv\documents"
 c01 = .Range("C2") & (" - ") & .Range("D2") & "\" & .Range("B3") & .Range("B4")
 CreateObject("shell.application").Namespace(c00).newfolder c01 & "\"
 ThisWorkbook.SaveAs c00 & "\" & c01 & "\" & ("Voorblad ") & .Range("B3").Value & ".xlsm", 52
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan