TOP

Kebab Case LibreOffice の関数 Calc

KEBABCASE()

KEBABCASE() 関数は、ハイフンを使用して単語を組み合わせるように設計されています。つまり、「kebab-case-function」などの単一の単語を返します。

Kebab Case は、スペース、ハイフン、アンダースコア、または大文字と小文字の変更で区切られた単語の文字列を分割し、それらの単語を小文字に変換してハイフン区切り文字 (「-」) で結合します。

KEBABCASE() 関数は、受け入れられたコード記述規則 (coding Conventions) に従って変数名を変換するプログラミングで役立ちます。


BASIC 関数のコード Kebab Case

以下は、LibreOffice Calc でテキストをハイフンで区切られた個々の単語 (Kebab Case) に変換できるカスタム関数を作成するマクロ コードです。

メニュー Tools - Macros - Edit Macros... を開き、Module1 を選択して、次のテキストをモジュールにコピーします。

Function KebabCase(ByVal str As String) As String  
  'moonexcel.com.ua
  Dim words As Variant  
  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," ")              
      
  KebabCase = Join(words,"-")  
End Function

次に、Macro Editor を閉じ、LibreOffice Calc に戻り、任意のセルで新しい関数を使用します。