TOP

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.