2011年6月4日土曜日

文字列関数 (4)

文字列関数編、第四弾。
  
Sub ExampleStringFunctions4()
       Dim objSheet As Object
       Dim objCell As Object
       objSheet = ThisComponent.CurrentController.ActiveSheet
       '
       'InStr 関数
       objCell = objSheet.getCellRangeByName("A1")
       objCell.Value = InStr(1, "LibreOffice CALC", "a", 1)
       objCell = objSheet.getCellRangeByName("B1")
       objCell.Value = InStr(1, "OpenOffice CALC", "a", 0)
       '
       'StrComp 関数
       objCell = objSheet.getCellRangeByName("A2")
       objCell.Value = StrComp("aaaa", "cccc", 1)
       objCell = objSheet.getCellRangeByName("B2")
       objCell.Value = StrComp("AAAA", "aaaa", 1)
       objCell = objSheet.getCellRangeByName("C2")
       objCell.Value = StrComp("AAAA", "aaaa", 0)
       objCell = objSheet.getCellRangeByName("D2")
       objCell.Value = StrComp("cccc", "aaaa", 0)
       '
       'String 関数
       objCell = objSheet.getCellRangeByName("A3")
       objCell.String = String(10, "F")
       objCell = objSheet.getCellRangeByName("B3")
       objCell.String = String(10, 74)
       '
       'Space 関数
       objCell = objSheet.getCellRangeByName("A4")
       objCell.String = "*" & Space(5) & "*"
       '
       'Asc 関数
       objCell = objSheet.getCellRangeByName("A5")
       objCell.Value = Asc("J")
       '
       'Chr 関数
       objCell = objSheet.getCellRangeByName("A6")
       objCell.String = Chr(74)
End Sub
  
上記マクロの実行結果は下図の通り :
  
1. InStr 関数
   ある文字列の中から指定した文字列を検索し、最初に見つかった文字位置
   (指定した開始位置からその位置までの文字数) を返す文字列処理関数。
   書式は下記の通り :
  
      InStr([StartPosition, ] Text1, Text2 [, Compare])
  
   StartPosition 検索の開始位置を表す数値を指定する。指定できる最大値
   は 65535。省略した場合は先頭の文字から検索される。
   Text1 は検索対象となる文字列。
   Text2 には検索したい文字列を指定する。
   Compare には比較モードを表す数値を指定する。1 を指定した場合は、大文
   字・小文字を区別せず検索し、0 を指定した場合は大文字・小文字を区別して
   検索を行う。また、StartPosition 引数を指定せずに、Compare を指定すると
   エラーが発生する
   戻り値として、指定した開始位置からの文字数返される。但し、該当する文字列
   がみつからない場合は、戻り値としてゼロが返されるる
  
2. StrComp 関数
   指定した二つの文字列を比較し、その結果を返す。書式は下記の通り :
  
      StrComp(Text1Text2 [, Compare])
  
   Text1Text2 ともに任意の文字列。
   Compare には比較モードを表す数値を指定する。1 を指定した場合は、
   大文字・小文字を区別した比較が行われ、0 を指定した場合は大文字・
   小文字の区別なく比較を行う。省略した場合は、1 とみなすようである。
   InStr 関数の比較モードと指定する値が全く逆になるので、要注意。
   戻り値は、比較の結果に応じて、下記の通りの値が返される :
  
      ・ Text1 < Text2 の場合、関数の戻り値は -1
      ・ Text1 = Text2 の場合、関数の戻り値は 0
      ・ Text1 > Text2 の場合、関数の戻り値は 1
  
3. String 関数
   指定された文字、文字列、または、文字コードを、指定回数分繰り返した
   文字列を生成する。書式は下記の通り :
  
      String(CharacterOrCode,  Number)
  
   CharacterOrCode には文字、文字列、または、ASCII コードの何れかを
   指定する。文字列を指定した場合は、先頭文字のみ繰り返しの対象となる。
   Number には、文字を繰り返す回数を指定する。
   戻り値として、指定回数分繰り返された文字列が返される。
  
4. Space 関数
   指定回数分のスペース文字の文字列が返される。書式は下記の通り :
  
      Space(Number)
  
   Number には、スペース文字を繰り返す回数を指定する。
   戻り値として、指定回数分繰り返されたスペース文字列が返される。
  
5. Asc 関数
   指定した文字、或いは、文字列の先頭文字の ASCII コードを取得する。
   書式は下記の通り :
  
      Asc(Character)
  
   Character には、変換対象の文字、または、文字列を指定する。文字列
   を指定した場合は先頭文字のみが変換対象となる。
   戻り値として、ASCII コード (整数値) が返される。

6. Chr 関数
   指定した ASCII コードを文字列に変換する。書式は下記の通り
  
      Chr(Code)
  
   Code には、変換対象の ASCII コードを指定する。
   戻り値として、変換された文字が返される。

1 件のコメント: