En Excel Macro å avgjøre om en arbeidsbok Exists

Denne Excel makro kan du passere en filbane for å vurdere om filen er der. For eksempel kan du ha en prosess som manipulerer en fil et sted på din PC. For eksempel kan det være nødvendig å åpne en eksisterende arbeidsbok for å legge data til det på en daglig basis. I dette tilfellet kan du trenger å teste for å se om filen du trenger å manipulere eksisterer.

Hvordan makro verk

Det første du legger merke til om denne makroen er at det er en funksjon, ikke en Sub prosedyre. Å gjøre denne makroen en funksjon gjør det mulig å passere noen filstien til den.

I denne makroen, bruker du Dir-funksjonen, som returnerer en streng som representerer navnet på filen som matcher det du sender til den. Denne funksjonen kan brukes på mange måter, men her bruker du den for å sjekke om filbanen du sender til den finnes:
Funksjon FileExists (FPath As String) As Boolean'Step 1: Erklærer variabler Dim fname As String'Step 2: Bruk Dir-funksjonen for å få filnavnet fname = Dir (FPath) «Trinn 3: Hvis filen finnes, return true; annet False Hvis fname < > "" Så FileExists = sant _ Else: FileExists = FalseEnd Funksjon

Trinn 1 erklærer en streng variabel som inneholder filnavnet som returnerer fra Dir funksjonen. Fname er navnet på String variable.

I trinn 2, forsøker du å sette fname variabel. Du gjør dette ved å sende FPath variabelen til Dir funksjonen. Dette FPath variabel føres via funksjons erklæringer (se første linje av koden). Denne strukturen hindrer deg fra å måtte hard-kode en fil banen, passerer det som en variabel i stedet.

Hvis fname variabelen ikke kan stilles, gjør banen du passert finnes ikke. Således er fname variable tom. Trinn 3 bare betyr at resultatet til en Sant eller usant uttrykk.
Igjen, kan denne funksjonen brukes til å vurdere hvilken som helst fil banen du går til det. Dette er skjønnheten av å skrive makro som en funksjon

Følgende makro viser hvordan du bruker denne funksjonen.
Sub Makro1 () Hvis FileExists ("C: \\ Temp \\ MyNewBook.xlsx") = True Deretter MsgBox "Fil eksisterer." Else MsgBox "Fil finnes ikke." End IfEnd Sub
Hvordan bruke makroen

For å implementere denne makroen, kan du kopiere og lime inn begge deler av koden til en standard modul:

Aktiver Visual Basic Editor ved å trykke Alt + .. F11

Høyreklikk navnet på prosjektet /arbeidsbok i prosjektvinduet

Velg Sett → Module

Skriv eller lim. koden i den nyopprettede modulen.



Previous:
Next Page: