TOP

Snake Case LibreOffice の関数 Calc

SNAKECASE() 説明

関数 SNAKECASE() は、アンダースコアを使用して単語を結合するように設計されているため、「snake_case_function」などの単一の単語を返します。

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

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


BASIC 関数のコード Snake Case

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

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

Function SnakeCase(ByVal str As String) As String
  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, " ")            
    
  SnakeCase = Join(words,"_")
End Function

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