Avatar billede kasper_knaldperle Nybegynder
02. marts 2006 - 16:02 Der er 10 kommentarer og
1 løsning

Find filextension

Jeg ønsker at finde filextension på en fil. Jeg har et textfelt med den komplette sti til, og skal nu blot have fat i teksten til og med punktum.
Jeg har før brugt InStr, men den tager fra den forkerte side.
Håber I forstår.
Avatar billede joern Nybegynder
02. marts 2006 - 16:55 #1
Hej.

Normalt er extension på 3 tegn, men man kan aldrig være sikker.  I så fald kan du blot bruge

extension = right(din_path,3)

Jeg regner med at stien står med backslasc \\ mellem mapperne.

Dim delen, filen as string

  delen = Split(din_path,"\",1)    'sidste post i array'et delen vil indeholde filnavn incl. ekstension.
 
  filen = split(delen(ubound(delen)),".",1)    'ubound(delen) er sidste post
  ekstension = delen (1)

Ikke afprøvet!
Avatar billede bak Forsker
02. marts 2006 - 16:56 #2
t = "c:\rett.txt"
s = Left(t, InStrRev(t, "."))
Debug.Print s
Avatar billede joern Nybegynder
02. marts 2006 - 17:28 #3
Hej.

Jeg brugte VB5 indtil for 1 måned siden, smart med instr fra bagenden.
Avatar billede kasper_knaldperle Nybegynder
02. marts 2006 - 17:29 #4
Jeg glemte sq da at skrive at koden skal bruges i Access. Jeg ved ikke om det har betydning...beklager.
joern...dit forslag give en fejl "type mismatch" i denne linje:
Filen = Split(Delen(UBound(Delen)), ".", 1)
Jeg får også en fejl hvis jeg beder om "MsgBox Delen"...hvis jeg har sat ' foran den linje der starte med "Filen"

bak...dit forslag kommer med stien frem til punktum. Det kunne så vidt bruges, men da der er mulighed for at en sti vil indeholde flere punktummer skal det helst tages fra slutning af stien og hen til det første punktum. Altså omvendt.
Avatar billede kasper_knaldperle Nybegynder
02. marts 2006 - 17:31 #5
hmm...det ser ud til at dit forslag bak kan bruges...den er jo ligeglad med alle punktummer undtagen det sidste.
Jeg kigger lige på det
Avatar billede kasper_knaldperle Nybegynder
02. marts 2006 - 17:40 #6
bak...det er perfekt. Det blev måske lidt kluntet, men jeg fik famlet mig frem til et yderst brugbart resultat.
Du er velkommen til at smide et svar.

joern...tusind tak for hjælpen, men jeg bliver nød til at give bak alle pointene. Håber det er i orden.
Avatar billede joern Nybegynder
02. marts 2006 - 17:42 #7
Hej.

Ja, det er en stor mangel ved rigtig mange spørgsmål, at folk tror at VBA er Visual Basic.  Jeg bruger selv ikke Microsofts Office Suite, så jeg ved intet om, hvad der kan gøres med VBA.
Avatar billede kasper_knaldperle Nybegynder
02. marts 2006 - 17:52 #8
Sry...det er min fejl, men jeg mente at denne kategori var den bedste. Beklager hvis jeg har spildt din tid :(
Avatar billede joern Nybegynder
02. marts 2006 - 18:15 #9
Hej.
Det går nok - ellers havde jeg heller ikke hørt om InStrRev :-)
Point betyder ikke noget, jeg får aldrig brugt dem jeg har.

Men det ER ærgerligt, når spørgere først langt nede i tråden fortæller, at det forresten slet ikke drejer sig om Visual Basic.

Jeg kan forestille mig, at den VBA, der er til Suite 2003, er mere omfattende end den til ´97.  Så version vil også være på sin plads!  Husk det næste gang:  'VBA 2003'
Avatar billede kasper_knaldperle Nybegynder
02. marts 2006 - 18:42 #10
Det skal jeg huske :D
Avatar billede bak Forsker
02. marts 2006 - 20:05 #11
Jeg mener at InstrRev kom med i VB6 og office 2000.
Sjovt nok mener jeg også at kunne huske at Split/Join kom samme tid :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester