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 formdaki bir sözcük kümesini 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ümledeki ilk harf 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.


StarBASIC SENTENCECASE() için kod

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.

Uzantıyı kullanma

Bu özelliği de kullanabilirsiniz SENTENCECASE() ücretsiz uzantıyı yükleyerek YouLibreCalc.oxt veya tam özellikli sürümü YLC_Utilities.oxt .

Bundan sonra bu fonksiyon LibreOffice Calc'de açılacak tüm dosyalarda mevcut olacaktır.