TOP

Sentence Case Funktion für LibreOffice Calc

SENTENCECASE() Beschreibung

Die Funktion SENTENCECASE() dient dazu, vorhandenen Text in ein Satzformat umzuwandeln und gibt eine Reihe von Wörtern in der Form zurück: „Sentence case function“.

Sentence Case teilt durch Punkte, Ausrufezeichen oder Fragezeichen getrennte Zeilen in separate Sätze auf. Anschließend werden alle Wörter bis auf den ersten Buchstaben im Satz in Kleinbuchstaben umgewandelt und anschließend alle Elemente zu einem Fließtext zusammengeführt.

Die Funktion SENTENCECASE() kann hilfreich sein, um die Groß-/Kleinschreibung von Buchstaben in Sätzen im gesamten Text zu korrigieren.


BASIC Code für SENTENCASE()

Hier ist der Makrocode zum Erstellen einer benutzerdefinierten Funktion, mit der Wörter in Sätzen (Sentence Case) in LibreOffice Calc zwischen Groß- und Kleinschreibung unterschieden werden können.

Öffnen Sie das Menü Tools - Macros - Edit Macros..., wählen Sie Module1 aus und kopieren Sie den folgenden Text in das Modul:

Function SentenceCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim sentences As Variant
  Dim i         As Integer
  Dim FCalc     As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")    
  
  str = Replace(str,"-"," ")
  str = Replace(str,"_"," ")
  str = FCalc.callFunction("TRIM", Array(str))
  str = LCase(str)
  str = FCalc.callFunction("REGEX", Array(str,"([.!?])(\s)(\w)","$1#$3","g"))
  
  sentences = Split(str, "#")
    
  For i = LBound(sentences) To UBound(sentences)       
    sentences(i) = UCase(Left(sentences(i), 1)) & Mid(sentences(i), 2)       
  Next i
    
  SentenceCase = Join(sentences," ")
End Function

Schließen Sie dann Macro Editor, kehren Sie zu LibreOffice Calc zurück und verwenden Sie unsere neue Funktion in einer beliebigen Zelle.