ВГОРУ

Sentence Case Функція для LibreOffice Calc

SENTENCECASE() Опис

Функція SENTENCECASE() призначена для перетворення існуючого тексту у формат речень та повертає набір слів у вигляді: "Sentence case function".

Sentence Case розбиває рядки, розділені крапками, знаками оклику або питання, на окремі речення. Потім, перетворює всі слова в нижній регістр, крім першої літери в реченні з подальшим об’єднанням всіх елементів в один суцільний текст.

Функція SENTENCECASE() може бути корисною для виправлення регістру букв у реченнях по усьому тексту.


StarBASIC Код для SENTENCECASE()

Ось код макросу для створення користувацької функції, яка може вирівнювати регістр слів в реченнях (Sentence Case) в програмі LibreOffice Calc.

Відкрийте меню Tools - Macros - Edit Macros..., виберіть Module1 і скопіюйте наведений нижче текст до модуля:

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

Потім закрийте Macro Editor, поверніться до LibreOffice Calc і використовуйте нашу нову функцію в будь-якій клітинці.

Використання розширення

Ви також можете скористатись функцією SENTENCECASE() встановивши безкоштовне розширення YouLibreCalc.oxt або його повнофункціональну версію YLC_Utilities.oxt.

Після цього, дана функція буде доступна у всіх файлах, які будуть відкриті в LibreOffice Calc.