2011年5月30日月曜日

文字列関数 (1)

文字列関数について、第一回目。
  
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(TextLength)
  
   Text には文字列、または、String 型の変数を指定する。
   Length には、取り出したい文字数を指定する。ゼロを指定した場合は
   空文字列が戻り値として返される。
   戻り値は、取り出した文字列が返される。

0 件のコメント:

コメントを投稿