HOME > 即効テクニック > AccessVBA > 日付・文字列操作・演算 > 文字列の一部を別の文字列に置換する

即効テクニック

日付・文字列操作・演算

文字列の一部を別の文字列に置換する

(Access 2000/2002)
Replace関数を使うと、指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を取得する事ができます。
サンプルプロシージャでは、Microsoft-Office-Users-GroupをMicrosoft*Office*Users*Groupに置換しています(“-”→“*”)。

Sub Sample1()

    MsgBox Replace("Microsoft-Office-Users-Group", "-", "*")

End Sub

Replace関数の構文は次のとおりです。
<構文>
Replace(expression, find, replace[, start[, count[, compare]]])

expression
置換する文字列を含む文字列式 を指定します。 

find
検索する文字列を指定します。 

replace
置換する文字列を指定します。 

start
省略可能です。
引数expression内の内部文字列の検索開始位置を指定します。
この引数を省略すると、1 が使用されます。 

count 
省略可能です。
置換する文字列数を指定します。この引数を省略すると、既定値の -1 が使用され、すべての候補が置換されます。 

compare
省略可能です。
文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
設定する値については、次の「設定値」を参照してください。 

引数compareの設定値は次のとおりです。

定数         値   説明 
vbUseCompareOption -1 Option Compareステートメントの設定を使用して比較を行います。 
vbBinaryCompare   0 バイナリモードで比較を行います。 
vbTextCompare    1 テキストモードで比較を行います。 
vbDatabaseCompare  2 Microsoft Access の場合のみ有効。
            データベースに格納されている設定に基づいて比較を行います。 

次のサンプルプロシージャでは、ひつじが1匹ひつじが2匹ひつじが3匹ひつじが4匹をおおかみが1匹おおかみが2匹ひつじが3匹ひつじが4匹に置換しています。

Sub Sample2()

    MsgBox Replace("ひつじが1匹ひつじが2匹ひつじが3匹ひつじが4匹", _
           "ひつじ", "おおかみ", , 2, vbTextCompare)

End Sub