文字列の前後の不要文字削除、文字追加。よく使うサブルーチンライブラリ
ものすごく簡単なことなのですが、例えば、Activeworkbook.path の最後には、¥が付かない。
プログラム全体でそれをどう定義するかという基本的なプログラム設計は、毎回あいまいだったりします。
path であれば、グローバル変数で1つ設定しておけば案外統一されるのですが、今度は、そのグローバル変数の最後には¥があるのかないのかといった問題が出てきます。
また、文字列前方の空白の削除、後方の空白削除なども簡単なループで済みますが、それをいちいち書いているといくら小さくても工数の無駄になりますし、ソースが長くなります。
文字列の最後に文字列を追加する
対象文字列の最後に追加文字列が存在しないときにだけ、文字列を追加します。書式 Function Lastchar(iLine, lchar)
‘iLine:対象文字列
‘lchar:追加文字列
‘lchar:追加文字列
文字列の最後の文字列を削除する
対象文字列の最後の文字列が削除文字列の場合だけ対象文字列から削除文字列を削除する書式 Function LastCharCut(iLine, ichar)
‘iLine:対象文字列
‘lchar:削除文字列
‘lchar:削除文字列
文字列の前方の不要文字列削除
文字列の前方の不要文字列を削除書式 Function FrontStr(buffval, cutStr, loopmax)
‘buffval:対象文字列
‘cutStr:削除文字列
‘loopmax:繰り返し回数 (0 の場合無限回)
‘cutStr:削除文字列
‘loopmax:繰り返し回数 (0 の場合無限回)
使用例
Dim buff, work
buff = "++++データ開始行****"
work = strSpCut.FrontStr(buff,"+",2)
結果
work "++データ開始行****"
文字列の前方の不要文字列削除
文字列の前方の不要文字列を削除書式 Function Front(buffval, cutStr)
‘buffval:対象文字列
‘cutStr:削除文字列
‘cutStr:削除文字列
使用例
Dim buff, work
buff = "++++データ開始行****"
work = strSpCut.Front(buff,"+")
結果
work "データ開始行****"
文字列の後方の不要文字列削除
文字列の後方の不要文字列を削除書式 Function backStr(buffval, cutStr, loopmax)
‘buffval:対象文字列
‘cutStr:削除文字列
‘loopmax:繰り返し回数 (0 の場合無限回)
‘cutStr:削除文字列
‘loopmax:繰り返し回数 (0 の場合無限回)
使用例
Dim buff, work
buff = "++++データ開始行****"
work = strSpCut.backStr(buff,"*",2)
結果
work "++++データ開始行**"
文字列の後方の不要文字列削除
文字列の後方の不要文字列を削除書式 Function Back(buffval, cutStr)
‘buffval:対象文字列
‘cutStr:削除文字列
‘cutStr:削除文字列
使用例
Dim buff, work
buff = "++++データ開始行****"
work = strSpCut.Back(buff,"*")
結果
work "++++データ開始行"
文字列の前後の不要文字列削除
文字列の前後の不要文字列を削除書式 Function BothStr(buffval, cutStr, loopmax)
‘buffval:対象文字列
‘cutStr:削除文字列
‘loopmax:繰り返し回数 (0 の場合無限回)
‘cutStr:削除文字列
‘loopmax:繰り返し回数 (0 の場合無限回)
使用例
Dim buff, work
buff = "****データ開始行****"
work = strSpCut.BothStr(buff,"*",2)
結果
work "**データ開始行**"
文字列の前後の不要文字列削除
文字列の前後の不要文字列を削除書式 Function Both(buffval, cutStr)
‘buffval:対象文字列
‘cutStr:削除文字列
‘cutStr:削除文字列
使用例
Dim buff, work
buff = "****データ開始行****"
work = strSpCut.Both(buff,"*")
結果
work "データ開始行"