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(Text1, Text2 [, Compare])
Text1、Text2 ともに任意の文字列。
StrComp(Text1, Text2 [, Compare])
Text1、Text2 ともに任意の文字列。
Compare には比較モードを表す数値を指定する。1 を指定した場合は、
大文字・小文字を区別した比較が行われ、0 を指定した場合は大文字・
小文字の区別なく比較を行う。省略した場合は、1 とみなすようである。
InStr 関数の比較モードと指定する値が全く逆になるので、要注意。
戻り値は、比較の結果に応じて、下記の通りの値が返される :
・ Text1 < Text2 の場合、関数の戻り値は -1
・ Text1 = Text2 の場合、関数の戻り値は 0
・ 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)
戻り値として、変換された文字が返される。
優れた記事をありがとうございます.
返信削除