TOP

Camel Case Função para LibreOffice Calc

CAMELCASE() Descrição

A função CAMELCASE() foi projetada para combinar palavras com maiúsculas e minúsculas variáveis, ou seja, uma única palavra é retornada como resultado, por exemplo "camelCaseFunction".

Camel Case divide uma sequência de palavras separadas por espaços, hifens, sublinhados ou letras maiúsculas em elementos separados. Em seguida, ele converte tudo isso em palavras maiúsculas, exceto a primeira, que é convertida em minúsculas, e combina todos os elementos em uma palavra.

A função CAMELCASE() pode ser útil na programação para converter nomes de variáveis de acordo com convenções de escrita de código aceitas (coding conventions) .


StarBASIC código para função Camel Case

Aqui está o código de macro para criar uma função personalizada que pode combinar palavras diferentes em uma, onde as partes lógicas serão separadas por uma variável case (Camel Case) em LibreOffice Calc.

Abra o menu Tools - Macros - Edit Macros..., selecione Module1 e copie o seguinte texto no módulo:

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

Em seguida, feche Macro Editor, retorne para LibreOffice Calc e use nossa nova função em qualquer célula.

Usando a extensão

Você também pode usar o recurso CAMELCASE() instalando a extensão gratuita YouLibreCalc.oxt ou sua versão completa YLC_Utilities.oxt .

Depois disso, esta função estará disponível em todos os arquivos que serão abertos em LibreOffice Calc.