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.
24. april 2018 - 09:51
#1
Du kan putte alle replace
indeni hinanden:
strFrom = Replace( Replace(strFrom, "ø", "oe") , "Ø", "OE")
osv.osv.
24. april 2018 - 10:07
#2
strFrom = Replace(Replace(Replace(LCase$(strFrom), "æ", "ae"), "ø", "oe"), "å", "aa")
strTo = Replace(Replace(Replace(LCase$(strTo), "æ", "ae"), "ø", "oe"), "å", "aa")
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.