Hejsan! Den här metoden krymper sökvägen åt dig. Ange bara sökvägen och hur lång den max får vara så returneras en "fin" sökväg i rätt längd. Hej igen!Splitta en sökväg till max antal tecken?
Har ett problem när jag ska skriva ut en sökväg som ligger i en variabel. Om teckensträngen är för lång så försvinner ju slutet av sökvägen utanför papperet. Ska man använda split för att dela upp strängen?
Om det är så, så undrar jag ifall man kan använda split för att dela strängen i antal tecken, t.ex.
att strängen ska splittas efter varje 50:e tecken eller nåt sånt. Eller finns det någon annan säker
bra lösning? Att använda split med att dela efter "\" blir ju lite fel då man ändå inte vet hur många
tecken det är mellan varje "\" när det senare ska skickas för utskrift.
Är väldigt tacksam för all hjälp jag kan få.
Mvh
SivSv: Splitta en sökväg till max antal tecken?
<code>
Public Function ShrinkPath(ByVal strPath As String, lngMaxLen As Long) As String
On Error Resume Next
Dim lngPosition As Long
Dim lngStart As Long
Dim lngNeeded As Long
Dim lngLength As Long
Dim strTmp As String
Dim strPrefix As String
strTmp = VBA.Trim$(strPath)
If Len(strTmp) <= lngMaxLen Then
ShrinkPath = strTmp
Exit Function
End If
If VBA.Left$(strTmp, 2) = "\\" Or VBA.Mid$(strTmp, 2, 1) = ":" Then
lngPosition = VBA.InStr(3, strTmp, "\")
lngStart = lngPosition + 1
lngNeeded = lngMaxLen - (lngPosition + 3)
Else
ShrinkPath = strTmp
Exit Function
End If
strPrefix = VBA.Left$(strTmp, lngPosition) & "..."
Do
lngPosition = VBA.InStr(lngStart, strTmp, "\")
If lngPosition > 0 Then
strTmp = VBA.Mid$(strTmp, lngPosition)
lngLength = VBA.Len(strTmp)
Else
Exit Do
End If
Loop Until lngNeeded >= lngLength
ShrinkPath = strPrefix & strTmp
End Function
</code>Sv:Splitta en sökväg till max antal tecken?
Ahh, tackar! Det gick snabbt att få svar!
Ska prova den koden. Måste först sätta mig ner och gå igenom den för att förstå den. Vill ju gärna lära mig också samtidigt. Jag hör av mig så fort att jag har provat hur det går med den och fått se hur den fungerar.
Tack igen, det var snällt!
SivSv: Splitta en sökväg till max antal tecken?
Koden fungerar utmärkt! Men kravet är ställt så att en osäker datoranvändare ska kunna hitta igen mappen det handlar om, få veta på utskriften vart exakt mappen har skapats och finns, vilket kan vara lite olika. Med den här lösningen kan det kanske bli svårt när man inte ser början av sökvägen. Eller är det nåt jag inte har förstått kanske, som man kan ha användning av den här koden ändå till?
Finns det kanske någon mer smart lösning på mitt problem?
Tack för koden! Kommer att ha användning för den i framtiden, den var bra!
Mvh
Sivan