Controleer of het bestand bestaat met Excel VBA

VBA Check File Exists helpt om te controleren of het bestand op locatie bestaat met behulp van Excel VBA. Na het vermelden van het bestandspad op de computer, wat als iemand het bestand verwijdert of het mappad van het bestand wijzigt, onze code zal uiteraard in dergelijke gevallen een foutmelding geven. Om dit probleem op te lossen, kunnen we één ding doen voordat we het bestand daadwerkelijk openen, we kunnen controleren of het genoemde bestand bestaat of niet.

In dit artikel laten we u zien hoe u kunt controleren of het betreffende bestand bestaat of niet.

Hoe te controleren of bestand bestaat of niet?

  • Hoe excel VBA weet of het bestand bestaat of niet ??
  • Standaard kan dit niet !!!
  • Dus hoe dan?
  • We moeten de functie "Dir" gebruiken om te controleren of het bestand bestaat of niet.

Wat doet de DIR-functie?

De functie VBA DIR retourneert de naam van de bestandsnaam met de extensie in het opgegeven mappad. Als de map geen bestand heeft, wordt de lege tekenreeks geretourneerd.

Met deze functie kunnen we dus testen of het bestand bestaat of niet. Zelfs zonder de DIR-functie kunnen we testen of het bestand bestaat of niet. We zullen enkele van de onderstaande voorbeelden zien.

Hoe gebruik je VBA Check File Bestaat in Excel?

We zullen leren hoe een VBA-functie Bestandscontrole gebruiken te gebruiken met enkele voorbeelden in excel.

U kunt dit VBA Check-bestand bestaat Excel-sjabloon hier downloaden - VBA Check-bestand bestaat Excel-sjabloon

Voorbeeld # 1 - VBA-controlebestand bestaat

Ok, laten we wat code schrijven om te testen of het bestand bestaat of niet. Volg de onderstaande stappen om zelf code te schrijven.

Stap 1: Ga hiervoor naar het VBA-venster en selecteer in het menu Invoegen Module zoals hieronder weergegeven.

Stap 2: Start de subprocedure.

Code:

 Sub File_Example () End Sub 

Stap 3: Definieer de variabele als String.

Code:

 Sub File_Example () Dim FilePath As String End Sub 

Stap 4: Nu wil ik het bestand met de naam "Hoofdstuk-11" testen. InputBoxes.xlsm "in mijn E-Drive". Ik zal mijn bestandspad toewijzen aan deze variabele.

Code:

 Sub File_Example () Dim FilePath As String FilePath = "D: \ Test File.xlsx" End Sub 

Stap 5: Definieer nu nog een variabele om de DIR-functie toe te passen.

Code:

 Sub File_Example () Dim FilePath als tekenreeks Dim FileExists als tekenreeks FilePath = "D: \ Test File.xlsx" End Sub 

Stap 6: Nu voor de tweede variabele open DIR-functie.

Code:

 Sub File_Example () Dim FilePath As String Dim FileExists As String FilePath = "D: \ Test File.xlsx" FileExists = Dir (End Sub 

Stap 7: DIR-functie vereist het bestandspad. Omdat we het bestandspad al hebben toegewezen aan de variabele "FilePath", kunnen we deze variabele eenvoudig doorgeven aan de DIR-functie.

Code:

 Sub File_Example () Dim FilePath As String Dim FileExists As String FilePath = "D: \ Test File.xlsx" FileExists = Dir (FilePath) End Sub 

Stap 8: Nu geeft de DIR-functie alleen de bestandsnaam terug als "Hoofdstuk-11. InputBoxen ”uit het genoemde bestandspad. Laten we het resultaat dus in een berichtvenster weergeven.

Code:

 Sub File_Example () Dim FilePath As String Dim FileExists As String FilePath = "D: \ Test File.xlsx" FileExists = Dir (FilePath) MsgBox FileExits End Sub 

Stap 9: Voer nu de macro uit om het resultaat te zien.

Aangezien er een bestand bestaat in het genoemde pad, heeft onze DIR-functie de bestandsnaam uit het enorme pad gefilterd.

Stap 10: Nu zal ik de bestandsnaam veranderen in iets anders dat er niet in het genoemde pad staat.

Code:

 Sub File_Example () Dim FilePath As String Dim FileExists As String FilePath = "D: \ File.xlsx" FileExists = Dir (FilePath) MsgBox (FileExists) End Sub 

Stap 11: Als ik de code nu uitvoer, wordt er een lege string in het berichtenvak geretourneerd.

De DIR-functie is het meest geschikt voor gebruik met de IF-instructie in VBA. Hierboven konden we alleen de bestandsnaam met de extensie zien als deze bestaat of anders konden we alleen de lege tekenreeks zien.

Voorbeeld # 2 - DIR met IF-voorwaarde

Stap 1: Maar met de IF-instructie met de DIR-functie kunnen we onze resultaten wijzigen. Kijk voor een voorbeeld naar de onderstaande code.

Code:

 Sub File_Example1 () Dim FilePath als tekenreeks Dim FileExists als tekenreeks FilePath = "C: \ Users \ cba_28 \ Desktop \ Alex \ Final Input.xlsm" FileExists = Dir (FilePath) Als FileExists = "" Dan bestaat MsgBox "Bestand niet in de genoemd pad "Else MsgBox" Bestand bestaat in het genoemde pad "End If End Sub 

Stap 2: Hier controleert de IF-voorwaarde of de variabele "FileExists" niets ("") is of niet. Als de variabele waarde niets is (""), retourneert deze het resultaat als "Bestand bestaat niet in het genoemde pad" of anders retourneert het het resultaat als "Bestand bestaat in het genoemde pad"

Hieronder is het voorbeeld van een screenshot van hetzelfde.

Met de DIR-functie kunnen we controleren of het bestand bestaat of niet.

Aanbevolen artikelen

Dit is een handleiding voor VBA Check File Exists. Hier bespreken we hoe u Excel VBA kunt gebruiken. Bestandscontrole Bestaan, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Kopieer en plak functie in VBA
  2. Substring Excel-functie
  3. VBA-subscript buiten bereik
  4. Excel ISNUMBER Formula

Categorie: