TOP

Sentence Case LibreOffice için işlev Calc

SENTENCECASE() Açıklama

SENTENCECASE() işlevi, mevcut metni cümle biçimine dönüştürmek için tasarlanmıştır ve şu biçimde bir sözcük kümesi döndürür: "Sentence case function".

Sentence Case noktalarla, ünlem işaretleriyle veya soru işaretleriyle ayrılmış satırları ayrı cümlelere böler. Daha sonra cümlenin ilk harfi dışındaki tüm kelimeleri küçük harfe dönüştürür ve ardından tüm öğeleri tek bir sürekli metinde birleştirir.

SENTENCECASE() işlevi, metin boyunca cümlelerdeki harflerin büyük/küçük harflerini düzeltmek için yararlı olabilir.


BASIC SENTENCASE() kodu

Burada, LibreOffice Calc içindeki cümlelerdeki sözcükleri (Sentence Case) büyük/küçük harflere yaslayabilen özel bir işlev oluşturmaya yönelik makro kodu verilmiştir.

Tools - Macros - Edit Macros... menüsünü açın, Module1'yi seçin ve aşağıdaki metni modüle kopyalayın:

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

Daha sonra Macro Editor'u kapatın, LibreOffice Calc'ye dönün ve yeni fonksiyonumuzu herhangi bir hücrede kullanın.

YouLibreCalc uzantısını kullanma

"SENTENCASE() işlevini" uzantısını ayarlayarak da kullanabilirsiniz. YouLibreCalc.oxt ". Bundan sonra LibreOffice Calc'de açılacak tüm dosyalarda bu fonksiyon mevcut olacaktır.