02. maj 2008 - 12:50Der er
5 kommentarer og 1 løsning
UDF til at læse .TXT fil
Er der nogen, der kan hjælpe mig med at lave en UDF i VBA, der læser en given text-fil (.TXT)? Jeg forestiller mig noget i retning af:
=ReadTXTFile("D:\\Logs\Today.TXT")
Funktionen skal primært bruges i anden VBA-kode, så den behøver strengt taget ikke virke i selve regnearket, men det vil da være rart, hvis den gjorde :-)
Jeg ved, at VBA-string variabler kun kan indeholde 65.535 karakterer, så funktionen skal selvfølgelig tage højde for dette, og ikke gå i stå med en fejl, hvis tekst-filen er større end dette, men så blot tage de første 65.535 karakterer i tekst-filen.
Man kunne måske udvide UDF'en til: =ReadTXTFile("D:\\Logs\Today.TXT"; AntalTegn)
...hvor antal tegn er 'optional', og hvis ikke angivet, så henter funktionen f.eks. automatisk kun de først 1.000 tegn i tekst-filen.
Jeg er MEGET taknemmelig, hvis dette kunne lade sig gøre, og synes selv spørgsmålet er mindst 400 point værd, så løser du dette for mig, laver jeg et ekstra spørgsmål med 200 point, som du bare kan ligge et svar til ;-)
Du kom mig selv i forkøbet, da jeg selv i mellemtiden havde fundet frem til Open-For-Input...
Din funktion er dog ikke helt perfekt, da den for det første slet ikke er en funktion, og for det andet giver fejl, hvis du åbner mere end en tekst-fil! Desuden mangler den muligheden for at fange fejl på tekst-størrelsen, og mulighed for at sætte, hvor meget af tekst-filen, du vil have læst :-)
Men, jeg har nu selv fået lavet mig min funktion, som dels tager højde for at ovenstående, og som osse giver mulighed for at angive linier, fremfor størrelse, og mulighed for at 'rense' teksten for lavniveaukoder og andre tegn, der ikke kan udskrives :-)
Så alt i alt er jeg tilfreds, så no problem - smid et svar, og du får dine point :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.