ВГОРУ

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

CAMELCASE() Опис

Функція CAMELCASE() призначена для об'єднання слів змінним регістром букв, тобто в результаті повертається одне слово, наприклад «camelCaseFunction».

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

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


BASIC код для функції 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.