ВВЕРХ

Title Case Функция для LibreOffice Calc

TITLECASE() Описание

Функция TITLECASE() предназначена для преобразования существующего текста в формат заголовков и возвращает набор слов в виде "Function for Title Case".

Код функции Title Case заменяет такие разделители, как дефис и нижнее подчеркивание на пробелы, превращает все слова в написание с большой буквы и конвертирует союзы в нижний регистр.

Title Case может быть полезна для исправления регистра букв в заголовках новостей, названиях статей сайтов или названиях видео для YouTube.

TITLECASE() подобна стандартной функции PROPER(), однако отличается тем, что союзы не пишутся с прописной буквы.


BASIC Код для TITLECASE()

Вот код макроса для создания пользовательской функции, которая может отображать текст в качестве заголовков (Title Case) в программе LibreOffice Calc.

Откройте меню Tools - Macros - Edit Macros..., выберите Module1 и скопируйте следующий текст в модуль:

Function TitleCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim words As Variant
  Dim FCalc As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")  
    
  oddWordsLat = "A|An|And|As|At|But|By|En|For|If|In|Is|Of|On|Or|The|To|Vs|Via"
  oddWordsCyr = "І|Як|На|Але|Для|Якщо|В|Чи|До|Через|Та|Від|Під|Над|И|Как|Но|То|Или|От|Под|К"  
  words = Split(oddWordsLat + "|" + oddWordsCyr,"|") 
  
  str = FCalc.callFunction("PROPER", Array(str))  
  
  For i = LBound(words) To UBound(words)  
    pattern = "(?!^)\b" + words(i) + "\b"
    replacement = LCase(words(i))
    
    str = FCalc.callFunction("REGEX", Array(str,pattern,replacement,"g"))
  Next i
    
  TitleCase = str
End Function

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