20-11-19, 18:21
|
| Όνομα: Αλέξανδρος Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013 Γλώσσα λογισμικού Office: Ελληνική | | Εγγραφή: 22-01-2010 Περιοχή: ΑΡΤΑ
Μηνύματα: 524
| |
Καλησπέρα Γιώργο!
Θέλω να βάλω τις συναρτήσεις που έχω στο module σε ένα νέο NewTextBox: στο ερώτημα που να διορθώνει το (σ) σε (ς) όταν είναι μετά από κάποιες συνθήκες πχ ακολουθεί κενό κλπ αλλά ταυτόχρονα να διορθώνει σε κεφαλαίο μετά από τελεία και κενό αν βρίσκει το πρώτο γραμμα μικρό να το διορθώνει και να το κάνει κεφαλαίο. Έχω την συνάρτηση.Κοίταξε το ερώτημα σε προβολή σχεδίασης δεν έχω καλή την σύνταξη να βάλω και τις δύο συναρτήσεις μαζί να διορθώνει ένα κείμενο και όχι ξεχωριστά
Γιώργο μέχρι πόσους χαρακτήρες χωράει "Το μεγάλο κείμενο σε ένα πίνακα;
Στο παρακάτω κώδικα ενσωμάτωσα τις δύο ρουτίνες σε μία για να μου δώσει το επιθυμητό αποτέλεσμα στο κείμενο αλλά υπάρχει πρόβλημα στη σειρά με το κόκκινο.Αν είχα τα δύο fuctions ξεχωριστά σε ένα module τότε στο ερώτημα τί τύπο θα χρησιμοποιήσω για να έχω τις διορθώσεις στο ίδιο κείμενο; Κώδικας: Public Function ReplaceEndSigmaSmallToCapital(str As Variant) As Variant
Dim s As Variant, sF As Variant, sR As Variant, i As Long, P As Variant
sF = Array("σ ", "σ.", "σ,", "σ:", "σ;") '<--πρέπει να αντικατασταθούν
sR = Array("ς ", "ς.", "ς,", "ς:", "ς;") '<--θα αντικαταστήσουν τα παραπάνω
s = str
If Len(s) > 0 Then
For i = 0 To UBound(sF)
s = Replace(s, sF(i), sR(i))
Next
End If
ReplaceEndSigmaSmallToCapital = s
'Από εδώ ξεκινά η συνάρτηση για την αντικατάσταση του πρώτου γράμματος μετά από τελεία και κενό.
'Dim P As Variant
'Dim i As Long
If Nz(str, "") <> "" Then
P = Split(Trim(str), ".")
For i = 0 To UBound(P)
P(i) = Trim(P(i))
If Len(P(i)) > 1 Then
P(i) = UCase(Left(P(i), 1)) & Mid(P(i), 2)
Else
P(i) = UCase(P(i))
End If
Next
'SmallToCapital = Join(P, ". ")
ReplaceEndSigmaSmallToCapital = Join(P, ". ")
End If
'End If
End Function
__________________
Με εκτίμηση
Αλέξανδρος
Τελευταία επεξεργασία από το χρήστη alex : 20-11-19 στις 21:39.
|