TOP

Title Case LibreOffice Calc の関数

YLC Utilities logo

TITLECASE()

関数 TITLECASE() は、既存のテキストを見出し形式に変換し、次の形式で単語のセットを返すように設計されています。 "Function for Title Case"

Title Case 関数コードは、ハイフンやアンダースコアなどの区切り文字をスペースに置き換え、すべての単語を大文字に変換し、接続詞を小文字に変換します。

Title Case は、ニュースの見出し、サイト記事のタイトル、または YouTube ビデオのタイトルの大文字と小文字を修正するのに役立ちます。

TITLECASE() は標準の PROPER() 関数と似ていますが、接続詞が大文字にならない点が異なります。


StarBASIC TITLECASE() のコード

以下は、LibreOffice Calc でテキストをタイトルとして表示できるカスタム関数 (Title Case) を作成するマクロ コードです。

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

Function TitleCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim words As Variant
  Dim FCalc As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")  
    
  oddWordsLat = "A|An|And|As|At|But|By|En|For|If|In|Is|Of|On|Or|The|To|Vs|Via"
  oddWordsCyr = "І|Як|На|Але|Для|Якщо|В|Чи|До|Через|Та|Від|Під|Над|И|Как|Но|То|Или|От|Под|К"  
  words = Split(oddWordsLat + "|" + oddWordsCyr,"|") 
  
  str = FCalc.callFunction("PROPER", Array(str))  
  
  For i = LBound(words) To UBound(words)  
    pattern = "(?!^)\b" + words(i) + "\b"
    replacement = LCase(words(i))
    
    str = FCalc.callFunction("REGEX", Array(str,pattern,replacement,"g"))
  Next i
    
  TitleCase = str
End Function

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

拡張機能の使用

という機能も使えます TITLECASE() 無料の拡張機能をインストールすることで YouLibreCalc.oxt またはそのフル機能バージョン YLC_ユーティリティ.oxt

その後、この関数は LibreOffice Calc で開かれるすべてのファイルで使用できるようになります。