automatisch aangemaakte map aanpassen

Status
Niet open voor verdere reacties.

DieBe

Gebruiker
Lid geworden
9 mei 2011
Berichten
64
Ik heb een excel formulier gemaakt. Als ik middels een knop het werkblad opsla wordt er gelijktijdig een map aangemaakt waarvan de naam wordt samengesteld met enkele gegevens van het formulier. Dit heb ik gedaan met onderstaande code welke ik op het net gevonden heb.

Sub opslaan()
Dim stPath As String
With Sheets("blad1")
stPath = "W:\Klanten\formulieren"
stPath = stPath & "factuur " & .Range("e7").Value & ""
With CreateObject("Scripting.FileSystemObject")
If Not .FolderExists(stPath) Then .CreateFolder stPath
End With
End Sub

Ik heb echter twee probleempjes:
1- bij het opslaan krijg ik een melding dat hij het pat niet kan vinden maar toch wordt er op de juiste plaats een map aangemaakt.
2- Als op het formulier een omschrijving bijvoorbeeld verkeerd is geschreven dan staat deze schrijffout dus ook verkeerd in de naam van de map. Het lukt mij dan niet om de naam te wijzigen of om de map te verwijderen.
 
Naast dat je net als de meesten het "\" teken op de juiste plek mist zou je de code ook in codetags moeten plaatsen.
Code:
stPath = "W:\Klanten\formulieren"
stPath = stPath & [COLOR="#FF0000"]"\"[/COLOR] & "factuur " & .Range("e7").Value & ""
 
Code:
With Sheets("blad1")
krijgt geen End With mee. Dus is ook niet goed.

Als je een object maar 1 keer aanroept heeft with geen toegevoegde waarde.

Code:
stPath = stPath & "factuur " & Sheets("blad1").Range("e7").Value [COLOR="#FF0000"]& ""[/COLOR]
De laatste 5 tekens lijken mij niet nodig. Net als de onnodige spatie achter factuur.
 
Alle drie de mappen worden aangemaakt indien niet aanwezig in W.

Code:
Sub opslaan()
 CreateObject("shell.application").Namespace("W:").newfolder "Klanten\formulieren\" & Sheets("blad1").Range("e7").Value
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan