作りながら学ぶVBAプログラミング

文字列を分割する よく使うサブルーチンライブラリ

str_Split.bas

str_Split.bas は、枠線を書くためのサブルーチンが集められたサブルーチンライブラリです。

CR を区切り文字にして文字列を順次返す

Function sSplit(data) ‘data: 分割する文字列 :data は、内容が壊れていくのでオリジナルが必要な場合は一度変数にいれてから

使用例、
Dim buff
Dim filename
buff = str_Lastchar(TextBox1.value,chr(13) + chr(10))
filename =str_Split.sSplit(buff)
Do while buff<>""
doevents
filename =str_Split.sSplit(buff)
loop


指定した文字を区切り文字にして文字列を順次返す

Function chSplit(data, ch) ‘data: 分割する文字列 :data は、内容が壊れていくのでオリジナルが必要な場合は一度変数にいれてから
‘cr: 区切り文字

dim buff
Dim data
buff = TextBox1.Value 'buff は、破壊されるので必ずオリジナルを取り出して使用する
data =str_Split.chSplit(buff,",")
Do while buff<>""
doevents
data =str_Split.chSplit(buff,",")
loop


ダブル/シングルクォート内の区切り文字を無視して文字列を分割して順次返す

Function qtSprit(data, ch) ‘data: 分割する文字列 :data は、内容が壊れていくのでオリジナルが必要な場合は一度変数にいれてから
‘ch: 区切り文字

※ch に ” 、 ‘ を指定できません

使用例、
Dim work
Dim data
work = TextBox1.Valuem 'buff は、破壊されるので必ずオリジナルを取り出して使用する
work = strSpCut.lastchar(work,",") '必ず最後はデリミッタで終わるデータを流すこと
data =str_Split.qtSprit(work,",")
Do while work<>""
doevents
data =str_Split.qtSprit(work,",")
loop



文字列を改行で区切って配列に返す

Function Split(splitstr, lines, dat() As String, Max) ‘splitstr ‘区切り文字
‘lines ‘分割する文字列
‘dim dat(10) as string ‘戻り配列 (内容は呼出し時点でクリアされます。)
‘dim max ‘配列上限

使用例、
dim dat(10) as string '戻り配列 (内容は呼出し時点でクリアされます。)
dim dct '件数
dim dmx '配列上限
dmx=10
'デリミッタ(<cr>:改行)、分解ストリング,戻り配列.戻り配列上限
dct=str_Split.Split(chr(13)+chr(10),buff,dat(),dmx)



= で文字列を2分割する

Function SplitEq2(buff, val1, val2) ‘buff:分割文字列
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値

使用例、
Dim val1, val2
Dim c
buff = "a = b"
c = str_Split.SplitEq2(buff,val1,val2)



空白で文字列を2分割する

Function SplitEq2(buff, val1, val2) ‘buff:分割文字列
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値

使用例、
Dim val1, val2
Dim c
buff = "a b"
c = str_Split.SplitEq2(buff,val1,val2)



指定文字列で文字列を2分割する

Function Split2(buff, splitstr, val1, val2) ‘buff:分割文字列
‘splitstr:区切り文字
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値

使用例、
Dim val1, val2
Dim c
buff = "a b"
c = str_Split.Split2(buff,"=",val1,val2)



文字列を分割する str_Split ダウンロード




  • このエントリーをはてなブックマークに追加

関連記事

ゆずまる・ゆぅべぇ

システムエンジニア/プログラマ歴数十年のゆずまるです。

バナーにもあるように変体的な犬マニアで生まれてからこのかた犬のいない日は経験していません。
中でもコッカースパニエルとラブラドールが死ぬほど好き!

そんなゆずまるは、20数種類の様々な言語を使用してシステム開発をおこなってきました。

そこで使ってきた各言語の自作ライブラリ中のVBAのライブラリを公開しています。

※姉妹サイトに C,PHP などのサイトもネット上に浮遊させております。そちらでもお役にたてましたら無上の喜びw

あなたの一助になれば幸いです。