Jag undrar om det finns ett sätt att dela en text som man har i en databas till två jämna kolumner - typ som en tidningsartikel... och inte att den delar mitt i ett ord, utan att den delar efter ett stycke eller punkt helst.
Function shortString(strWords, intNumbOfWords)
Dim arrayOfWords
arrayOfWords = split(strWords)
If UBound(arrayOfWords) > intNumbOfWords - 1 Then
For i = 0 to intNumbOfWords - 1
shortString = shortString & arrayOfWords(i) & " "
Next
Else
shortString = Join(arrayOfWords)
End If
End Function
eller kolla på hur lång arrayn blir efter en split på mellanslag och kör 50/50 när du joinar den igen?
gjorde en sub:
Sub splitSomething(str, ByRef returnString1, ByRef returnString2)
Dim strText, i, Length
strText = Split(str, " ")
length = UBound(strText) + 1
for i = 0 to Round(length/2) -1
returnString1 = returnString1 & strText(i) & " "
Next
For i=i to UBound(strText)
returnString2 = returnString2 & strText(i) & " "
Next
End Sub
En variant kan vara att räkna antalet dubbla radbrytningar. Har du EN dubbel radbrytning så är det således TVÅ stycken.
Journalisterna på Dagens Industri är rätt duktiga på att skriva korta stycken och det skulle troligen fungera rätt bra på deras sajt.
Men det förpliktigar att skriva den typen av text som passar. Det blir ju helt fel om du blandar långa och kora stycken.
Vem är det som skriver texten? Du eller någon annan? Har du möjlighet att påverka strukturen på texten? Antingen be dom som skriver att vara uppmärksamma eller om du själv kan redigera texten.
Oavsett vilket, att räkna radbrytningar kan fungera, under vissa givna förutsättningar...
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e