Wat doet deze code

Status
Niet open voor verdere reacties.

masala09

Gebruiker
Lid geworden
6 aug 2012
Berichten
886
Ik heb een code staan in mijn bestand waar ik niet van weet wat de functie er precies van is. Ik wil deze enerzijds verwijderen, anderzijds laten staan.

Rudi heeft mij ooit deze code gegeven, maar eerlijk gezegd weet ik niet meer waar deze voor dient. Deze code staat apart in mijn modules.

Code:
Public Sub rMkDir(ByVal mdir As String)

    With CreateObject("Scripting.FileSystemObject")
        If .GetParentFolderName(mdir) <> "" Then rMkDir .GetParentFolderName(mdir)
    End With
    On Local Error Resume Next
    MkDir mdir

End Sub

Het had naar mijn weten iets te maken met het opslaan van gemaakte facturen in PDF en dan deze in een map elders op de computer op te slaan. Het rare is dat deze dus niet in de bewuste sub voor opslaan staat.
 
Laatst bewerkt:
Deze code maakt recursief de mapstructuur aan waarin de bestanden worden opgeslagen. Als een map (met submappen) niet bestaat, kun je die met deze code aanmaken. Bestaan de mappen al, dan hoef je hem dus niet meer aan te roepen.
 
Wacht even dan snap ik hem denk ik al.

Ik heb in het verleden toen gehad dat toen de mappen werden aangemaakt en toen had ik wat problemen met opslaan. Volgens mij was dat met dat er foutmeldingen werden aangegeven of dat er dubbel werd opgeslagen. Toen heeft Rudi deze oplossing gegeven.
 
Je kunt hem sowieso laten staan in je standaard sjabloon, dan kun je hem gebruiken als je hem weer nodig hebt.
 
Kan het zijn dat deze code erbij hoorde. Ik kan mij namelijk herinneren dat ik hier een probleem mee had in een ander bestand. De code genoemd in deze topic stond toen niet in het bestand.

Code:
        rMkDir "D:\Materiaal\Materiaal PDF\" & Year(Date)
        Sheets("Opzet").ExportAsFixedFormat 0, "D:\Materiaal\Materiaal PDF\" & Year(Date) & "\" & Sheets("Opzet").Range("B3").Value & ".pdf"

Omdat de code toen niet werkte kreeg ik van Rudi onderstaande oplossing:

Code:
    CreateObject("shell.application").Namespace("D:\").NewFolder "Materiaal\Materiaal PDF " & Year(Date)
    Sheets("Opzet").ExportAsFixedFormat 0, "D:\Materiaal\Materiaal PDF " & Year(Date) & "\" & Sheets("Opzet").Range("B3").Value & ".pdf"

Toen werkte het weer wel. Echter nu heb ik het bestand voor de materialen toch samengevoegd in een eerder bestand, waarin ook de code

Code:
Public Sub rMkDir(ByVal mdir As String)

    With CreateObject("Scripting.FileSystemObject")
        If .GetParentFolderName(mdir) <> "" Then rMkDir .GetParentFolderName(mdir)
    End With
    On Local Error Resume Next
    MkDir mdir

End Sub

staat, werkte de code die eerst niet werkte.....weer wel..

Vandaar mijn vraag... Hebben deze codes met elkaar te maken.

Hoop dat mijn vraag niet cryptisch is. Al heb ik wel het idee.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan