Sub ExampleStringFunctions1()
Dim objSheet As Object
Dim objCell As Object
objSheet = ThisComponent.CurrentController.ActiveSheet
'
'Len 関数
objCell = objSheet.getCellRangeByName("A1")
objCell.Value = Len("ABCDEFGHI")
objCell = objSheet.getCellRangeByName("B1")
objCell.Value = Len("ABCDEFGHI")
objCell = objSheet.getCellRangeByName("C1")
objCell.Value = Len("あいうえおかきくけこ")
'
'Left 関数
objCell = objSheet.getCellRangeByName("A2")
objCell.String = Left("ABCDEFGHI", 3)
objCell = objSheet.getCellRangeByName("B2")
objCell.String = Left("ABCDEFGHI", 3)
objCell = objSheet.getCellRangeByName("C2")
objCell.String = Left("あいうえおかきくけこ", 4)
'
'Right 関数
objCell = objSheet.getCellRangeByName("A3")
objCell.String = Right("ABCDEFGHI", 2)objCell = objSheet.getCellRangeByName("B3")
objCell.String = Right("ABCDEFGHI", 2)
objCell = objSheet.getCellRangeByName("C3")
objCell.String = Right("あいうえおかきくけこ", 3)
End Sub
上記マクロの実行結果は下記の通り :
1. Len 関数
引数で指定した文字列の文字数を取得する。書式き下記の通り :
Len(Text)
Text には文字列、または、String 型の変数を指定する。
戻り値は、長整数型の数値で、文字数を返す。
Calc のヘルプには、「変数の格納に必要なバイト数を返します」とある
が意味がわからなかった為、参考文献 9) を参考にさせて頂いた。
Excel の場合でいうと、下記のサンプルマクロの場合、セル "A1" には
8 が代入される :
Sub test()
Dim myval0
Dim myVal1 As Double
myval0 = 1
myVal1 = myval0
Range("A1").Value = Len(myVal1)
End Sub
おそらく、Calc のヘルプも同じことを言わんとしているはずなので
試してみたが、返ってくる値は 1 であった。変数に代入する値を
1234 のように 4 桁にしてみたところ結果として 4 が返ってきたので、
推測だが、Calc の場合は文字数が返ってくるようである。
2. Left 関数
指定された文字列の左端から指定した文字数分の文字を返す関数。
書式は、
Left(Text, Length)
Text には文字列、または、String 型の変数を指定する。
Length には、取り出したい文字数を指定する。ゼロを指定した場合は
空文字列が戻り値として返される。
戻り値は、取り出した文字列が返される。
3. Right 関数
指定された文字列の右端から指定した文字数分の文字を返す関数。
書式は、
Right(Text, Length)
Text には文字列、または、String 型の変数を指定する。
Length には、取り出したい文字数を指定する。ゼロを指定した場合は
空文字列が戻り値として返される。
戻り値は、取り出した文字列が返される。
0 件のコメント:
コメントを投稿