Inhoudsopgave:
Video: Afdrukbereik bepalen 2024
Met deze Excel-macro kunt u een bestandspad doorgeven om te evalueren of het bestand aanwezig is. U hebt bijvoorbeeld een proces dat een bestand ergens op uw pc manipuleert. U moet bijvoorbeeld mogelijk een bestaande werkmap openen om er dagelijks gegevens aan toe te voegen. In dit geval moet u mogelijk testen om te zien of het bestand dat u moet manipuleren bestaat.
Hoe de macro werkt
Het eerste dat opvalt aan deze macro, is dat het een functie is en geen subprocedure. Door deze macro een functie te maken, kunt u elk bestandspad er naartoe laten gaan.
In deze macro gebruikt u de functie Dir, die een tekenreeks retourneert die de naam vertegenwoordigt van het bestand dat overeenkomt met wat u er aan geeft. Deze functie kan op veel verschillende manieren worden gebruikt, maar hier gebruik je het om te controleren of het bestandspad dat je erin doorgeeft bestaat:
Function FileExists (FPath As String) As Boolean 'Stap 1: vertel je variabelen Dim FName As String 'Stap 2: gebruik de functie Dir om de bestandsnaam FName = Dir (FPath)' te krijgen Stap 3: Als het bestand bestaat, geeft u True terug; else False If FName "Then FileExists = True _ Else: FileExists = False End Function
In stap 1 wordt een String-variabele gedeclareerd die de bestandsnaam bevat die van de functie Dir terugkeert FName is de naam van de variabele String.
< ! --2 ->In stap 2 probeer je de variabele FName in te stellen. Dit doe je door de FPath-variabele door te geven aan de functie Dir. Deze FPath-variabele wordt doorgegeven via de functieverklaringen (zie de eerste regel van de code). Deze structuur voorkomt dat je een bestandspad hardcodeert en in plaats daarvan doorgeeft als een variabele.
Als de FName-variabele niet kan worden ingesteld, bestaat het pad dat je hebt gepasseerd niet. variabele is leeg. Stap 3 vertaalt alleen dat resultaat naar een True of False expressie.
Nogmaals, deze functie kan worden gebruikt om elk pad naar een bestand te evalueren. de schoonheid van het schrijven van de macro als een functie.
De volgende macro laat zien hoe deze functie te gebruiken:
Sub Macro1 () If FileExists ("C: TempMyNewBook. xlsx") = True Dan is MsgBox "Bestand bestaat." Anders MsgBox "Bestand bestaat niet." End If End Sub
Hoe de macro te gebruiken
Om deze macro te implementeren, kunt u beide stukjes code in een standaardmodule:
-
Activeer Visual Basic Editor door op Alt + F11 te drukken.
-
Klik met de rechtermuisknop op de naam van het project / de werkmap in het projectvenster.
-
Kies Invoegen → Module.
-
Typ of plak de code in de zojuist gemaakte module.