TOP

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

CAMELCASE() Описание

Функция CAMELCASE() предназначена для объединения слов переменным регистром букв, то есть в результате возвращается одно слово, например "camelCaseFunction".

Camel Case разбивает строку слов, разделенных пробелами, дефисом, нижним подчеркиванием или переменным регистром букв на отдельные элементы. Затем, превращает все это в слова с заглавной буквы, кроме первого, которое конвертируется в нижний регистр, и объединяет все элементы в одно слово.

Функция CAMELCASE() может быть полезна в программировании для конвертации имен переменных в соответствии с принятыми правилами написания кода (coding conventions) .


StarBASIC код для функции Camel Case

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

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

Function CamelCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim words 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 = FCalc.callFunction("REGEX", Array(str,"([:lower:])([:upper:])","$1 $2","g"))
    
  str = LCase(str)
  words = Split(str, " ")
    
  For i = LBound(words) + 1 To UBound(words)       
    words(i) = UCase(Left(words(i), 1)) & Mid(words(i), 2)       
  Next i
    
  CamelCase = Join(words,"")
End Function

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

Использование расширения

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

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