Möjligen...
inp = split(inpt, vbcrlf)
output = join(inp, "</li><li>")
output = "<ul><li>" & output & "</li></ul>"
6 svar · 245 visningar · startad av Jesper T
Tanken är att min funktion skall skapa en lista av text med radbrytningar. Men är det fler än en så blir det en <li></li> för mycke. Och sätter jag till -1 efter ubound så funkar det inte när det bara är en rad.
Måste jag kladda med if-satser här, eller är det någon som hommer på något smart trick?
Function makelist(byVal inpt)
Dim inp,i
inp=split(inpt,vbcrlf)
For i = 0 to ubound(inp)
output = output & "<li>"& inp(i) &"</li>"& vbcrlf
Next
makelist = "<ul>"& vbcrlf & output & vbcrlf &"</ul>"
End function
Möjligen...
inp = split(inpt, vbcrlf)
output = join(inp, "</li><li>")
output = "<ul><li>" & output & "</li></ul>"
Samma sak uppstår... (min hjärna håller på att skrumpna)
Isånnafall så verkar ju din inpt innehålla ett tomt sista fält om det är fler än ett fält...
Borde den då inte försvinna med trim()
Nja... det är en radbrytning för mycket du har isånnafall och inte mellanslag.
Du hade rätt. Det var en för mycket där... :r
BTW: Varför köra split/join i stället för en replace?
Function makelist(byVal inpt)
Dim output
output = replace(trim(inpt),vbcrlf,"</li><li>")
makelist = "<ul><li>" & output & "</li></ul>"
End function