Sub ExampleStringFunctions5()
Dim strText As String
Dim arr()
Dim lngIndex As Long
Dim lngMinIndex As Long
Dim lngMaxIndex As Long
Dim strMsg As String
strText = "ABC|DE|FGHIJK|LMNO|PQR|STUVW|X|Z"
'
'文字列を"|"で分割
arr = Split(strText, "|")
'
'配列のインデックスの最小値、最大値を求める
lngMinIndex = LBound(arr)lngMaxIndex = UBound(arr)
'
strMsg =""
For lngIndex = lngMinIndex To lngMaxIndex
strMsg = strMsg + arr(lngIndex) + Chr$(13)
Next lngIndex
Msgbox(lngMinIndex & " " & lngMaxIndex & Chr$(13) & strMsg)
End Sub
上記マクロの実行の結果、下記メッセージボックスが表示される :
メッセージの一番上の行には配列の最小値、最大値が表示されている。
この配列の最小値、最大値を取得する関数 LBound 関数、UBound 関数
については後日に詳述するので、今回は割愛する。
Split 関数とは、文字列を指定された文字で分割して配列を作成する関数
である。書式は下記の通り :
Split(Text [, Delimiter [, Limit]])
Text には対象となる文字列を指定する。
Delimiter には、Text 中で区切り記号となる文字を指定する。省略した
場合、区切り記号の文字はスペース文字と見なされる。
Limit には、取得する配列数を指定する。例えば、上のサンプルコード
の文字列の例の場合、Limit に 3 を指定すると、
ABC、DE、FGHIJK|LMNO|PQR|STUVW|X|Z
の三つに分割される。即ち、分割を最後まで行わず、指定した数までしか
分割を行わない。省略した場合は、最後まで分割を行う。また、Limit を
指定する場合は、Delimiter は省略できないので、要注意。
0 件のコメント:
コメントを投稿