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

bestandsnaamcheck in excel macro

Status
Niet open voor verdere reacties.

vanwilfred

Gebruiker
Lid geworden
3 feb 2011
Berichten
12
Ik wil graag dat, voordat de rest van macro wordt uitgevoerd, er wordt gecontroleerd of de bestandsnaam van het document dat gekoppeld moet worden aanwezig is. Dus het if/then verhaaltje. Als de bestandsnaam niet wordt gevonden dan moet er een melding komen met "bestand bestaat niet" + OK button.

De bestandsnaam die gecontroleerd moet worden staat in:
=Range("C1")

Kan iemand mij helpen?
 
Code:
Const Werkdir = "D:\Mijn Documenten\Test"
Sub tst()
    MyDir = Werkdir & IIf(Right(Werkdir, 1) <> "\", "\", "")
    Bestandsnaam$ = MyDir & [C1] & ".xls"
    If Dir(Bestandsnaam$) = "" Then MsgBox "Bestand bestaat niet", vbOKOnly
End Sub
 
Gaat bijna helemaal goed, alvast dank daarvoor.
Als hij de file niet kan vinden geeftie netjes de melding dat het niet bestaat.

Maar hij moet vervolgens ook stoppen en niet vervolgens het bestand proberen te koppelen dus het verhaaltje als het bestand bestaat dan verdergaan met de macro en anders de melding en het afbreken van de macro.
 
Code:
If Dir(Bestandsnaam$) = "" Then MsgBox "Bestand bestaat niet", vbOKOnly [COLOR="red"]: Exit sub[/COLOR]
 
Beste allemaal,
Dank voor bovenstaande oplossing,
Hierover heb ik nog de volgende vraag,
Ik gebruik bovenstaand om te controleren of het bestand bestaat. Als het niet bestaat kan de gebruiker doorwerken.
Bestaat het bestand wel dan zou ik graag willen dat de macro het huidige bestand afsluit en het gezochte bestand opend zodat de gebruiker verder werkt in het eerder opgeslagen bestand.

Welke Else functie moet ik hiervoor gebruiken?

Alvast hartelijk dank,

Thijs
 
Code:
Const Werkdir = "D:\Mijn Documenten\Test"
Sub tst()
    MyDir = Werkdir & IIf(Right(Werkdir, 1) <> "\", "\", "")
    Bestandsnaam$ = MyDir & [C1] & ".xls"
    If Dir(Bestandsnaam$) = "" Then
        MsgBox "Bestand bestaat niet", vbOKOnly
    Else
        Workbooks.Open Bestandsnaam
    End If
    ThisWorkbook.Close False
End Sub
 
of

Code:
Sub snb()
  on error resume next

  workbooks.open "D:\Mijn Documenten\Test\" & sheets(1).cells(1,3).value
  if err.number=0 then ThisWorkbook.Close False
End Sub
 
@Thijsegbert Het is niet toegestaan om in iemand zijn of haar topic jouw probleem aan de orde te stellen. Deze gaat op slot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan