Εμφάνιση ενός μόνο μηνύματος
  #3  
Παλιά 20-11-19, 18:21
Το avatar του χρήστη alex
alex Ο χρήστης alex δεν είναι συνδεδεμένος
Όνομα: Αλέξανδρος
Έκδοση λογισμικού 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
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Replace3_SmallToCapital - New.zip (53,1 KB, 2 εμφανίσεις)
__________________
Με εκτίμηση

Αλέξανδρος

Τελευταία επεξεργασία από το χρήστη alex : 20-11-19 στις 21:39.
Απάντηση με παράθεση