文字列の削除

Posted : 2004-07-29 / Category : [work]

VBAで文字列の削除、です。
Access97で動作確認しました。

===============================================================
削除される文字列を含む文字列:strTarget
除去する文字列:strDel
===============================================================



Function fncDelString(ByRef strTarget, ByRef strDel) As String

Dim intLenDel As Integer   '削除される文字列の長さ
Dim intPos As Integer   '削除する文字列の位置
Dim strBuf As String   '編集用のワーク

'削除される文字列の長さを取得
intLenDel = Len(strDel)
  '編集用ワークに格納
strBuf = strTarget
  '削除する文字列の検索
intPos = InStr(1, strBuf, strDel)

Do Until intPos = 0

'削除する文字列の除去
strBuf = Left(strBuf, intPos - 1) & Mid(strBuf, intPos + intLenDel)

'削除される文字列の検索
intPos = InStr(intPos, strBuf, strDel)
'↑intPosより前には削除文字列はないので、intPosから検索する

Loop
'戻りデータのセット
fncDelString = strBuf

End Function



メモ帳等で検索→該当文字の削除、とやってるのと一緒ですね。