|
Findes fil i mappe?I en kolonne, står en række sti- og filnavne I anden kolonne skal skrives 1, hvis filen eksisterer, 0, hvis den ikke gør. Der er ingen af Excels indbyggede funktioner, som kan tjekke for filer i en mappe, så det kan ikke umiddelbart gøres med en formel. Til gengæld kan der laves en simpel brugerdefineret funktion, som står for kontrollen. Function FindesFil(Sti As
String) As Boolean Denne funktion returnerer SAND, hvis filen eksisterer, FALSK, hvis den ikke gør. Det ville være ret nemt, at lade funktionen direkte returnere 1 eller 0 i stedet, men hvis man ikke gør, kan den samme funktion bruges i mange andre tilfælde, hvor man skal tjekke for en fils "eksistens", så i stedet kan den pakkes ind i en formel: =HVIS(FindesFil(A1)=SAND;1;0) - forudsat naturligvis, at sti- og filnavn står i A1 :-) - se dog mere sidst i artiklen. Hvis man altid skal tjekke filerne, som findes/ikke findes i en bestemt mappe, og derfor kun har filnavnene uden sti stående i kolonnen, kan man ændre på funktionen til fx: Function FindesFil(Fil As
String) As Boleean og derefter kan den bruges på samme måde. Eller man kan lade både sti og filnavn være variabler, som så enten kan stå i hver sin celle, eller én eller begge dele kan indtastes som tekst. i funktionen Function FindesFil(Mappe As
String, Fil As String) As Boolean Uanset hvordan, skal HVIS-formlen altid være den samme, men funktionen kan altså også bruges i andre sammenhænge, hvor man har brug for at undersøge om en bestemt fil findes. I stedet for at bruge HVIS-formlen, kan man opnå 1 og 0, ved simpelthen at gange FindesFil med 1, altså =FindesFil(a1)*1 - og det samme for de andre varianter. Det skyldes at SAND repræsenterer tallet 1 og FALSK tallet 0, så når de ganges med 1, kommer netop talværdierne frem. |