Функция TITLECASE() предназначена для преобразования существующего текста в формат заголовков и возвращает набор слов в виде:
Код функции Title Case заменяет такие разделители, как дефис и нижнее подчеркивание на пробелы, превращает все слова в написание с большой буквы и конвертирует союзы в нижний регистр.
Title Case может быть полезна для исправления регистра букв в заголовках новостей, названиях статей сайтов или названиях видео для YouTube.
TITLECASE() подобна стандартной функции PROPER(), однако отличается тем, что союзы не пишутся с прописной буквы.
Вот код макроса для создания пользовательской функции, которая может отображать текст в качестве заголовков (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 и используйте нашу новую функцию в любой ячейке.
Вы также можете воспользоваться функцией TITLECASE() установив бесплатное расширение YouLibreCalc.oxt или его полнофункциональную версию YLC_Utilities.oxt .
После этого данная функция будет доступна во всех файлах, которые будут открыты в LibreOffice Calc.