Avatar billede molehonter Mester
24. april 2018 - 09:16 Der er 4 kommentarer

VBA replace()

Kan jeg forenkle denne kode del i VBA, jeg bruger det i en script til at hente afstande og tid i google maps.

strFrom = Replace(strFrom, "ø", "oe")
strFrom = Replace(strFrom, "Ø", "OE")
strFrom = Replace(strFrom, "æ", "ae")
strFrom = Replace(strFrom, "Æ", "AE")
strFrom = Replace(strFrom, "å", "aa")
strFrom = Replace(strFrom, "Å", "AA")
strTo = Replace(strTo, "ø", "oe")
strTo = Replace(strTo, "Ø", "OE")
strTo = Replace(strTo, "æ", "ae")
strTo = Replace(strTo, "Æ", "AE")
strTo = Replace(strTo, "å", "aa")
strTo = Replace(strTo, "Å", "AA")

kom gerne med ideer og løsninger.
Avatar billede finb Ekspert
24. april 2018 - 09:51 #1
Du kan putte alle replace
indeni hinanden:
strFrom = Replace( Replace(strFrom, "ø", "oe") , "Ø", "OE")
osv.osv.
Avatar billede Dan Elgaard Ekspert
24. april 2018 - 10:07 #2
strFrom = Replace(Replace(Replace(LCase$(strFrom), "æ", "ae"), "ø", "oe"), "å", "aa")

strTo = Replace(Replace(Replace(LCase$(strTo), "æ", "ae"), "ø", "oe"), "å", "aa")
Avatar billede molehonter Mester
24. april 2018 - 10:10 #3
Den skal jeg lige prøve af.
Avatar billede arne_v Ekspert
25. april 2018 - 03:26 #4
Jeg ville overveje en stil som:

a1 = array("æ", "ø", "å")
a2 = array("ae", "oe", "aa")

function dk2uk(s)
    res = s
    for i = lbound(a1) to ubound(a1)
        res = replace(res, a1(i), a2(i))
    next
    dk2uk = res
end function

og kalde dk2uk med den streng som skal konverteres.

Det er nemmere at tilfoeje flere tegn.
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

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