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

Controle of een directory al bestaat

Status
Niet open voor verdere reacties.

SergevdH

Gebruiker
Lid geworden
9 nov 2010
Berichten
14
Ik wil controleren of een directory al bestaat of niet.
Als dez eniet bestaat moet hij er een aamaken
Als deze wel bestaat moet hij verder gaan met zijn schript.

Nu gaat hij fout met de commando's is then else en dan de kopeling naar Goto
Sub tes()
Code:
Sub test()
    Dim opslaan As String
    Dim locatie As String
    Dim locatie1 As String
    Dim locatie2 As String
    Dim messXLSname As String
    opslaan = Worksheets("Basis").Range("A7")
    locatie = Worksheets("Basis").Range("A8")
    locatie1 = "O:\Offerte\80 projecten\"
    locatie2 = "O:\Offerte\80 projecten\" & locatie

[COLOR="green"]'locatie heeft dan een pad van bv. 804081 De kleur te Oss"
'locatie1 heeft dan een pad van bv. O:\Offerte\80 Projecten\"
'locatie2 heeft dan een pad van bv. O:\Offerte\80 Projecten\804081 De kleur te Oss"[/COLOR]

    If Dir(locatie2) <> "" Then GoTo 6
    Else
    GoTo 5
5   ChDir (locatie1)
    MkDir (locatie)
    GoTo 6
6   ChDir (locatie2)
    strXLSname = InputBox("Met welke naam moet deze file worden opgeslagen", "Bestandsnaam Specificaties", opslaan)
    messXLSname = strXLSname & ".xls"
    MsgBox "De file wordt opgeslagen onder de naam: " & messXLSname
    ActiveWorkbook.SaveAs messXLSname
End Sub
 
De fout zit bij:
Code:
If Dir(locatie2) <> "" Then GoTo 6
else
Als je een else wil gebruiken dan moet je ook de end if gebruiken en de 'goto 6' op een andere regel plaatsen.
Het zou dus
Code:
If Dir(locatie2) <> "" Then
	GoTo 6
else
	GoTo 5
end if
moeten zijn.
Maar misschien zou je toch beter een directe adressering vermijden.

Code:
If Dir(locatie2) = "" Then 
    ChDir (locatie1)
    MkDir (locatie)
end if 
ChDir (locatie2)
strXLSname = InputBox("Met welke naam moet deze file worden opgeslagen", "Bestandsnaam Specificaties", opslaan)
messXLSname = strXLSname & ".xls"
MsgBox "De file wordt opgeslagen onder de naam: " & messXLSname
ActiveWorkbook.SaveAs messXLSname

Paul.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan