InStrRev 関数

InStrRev(strString, strSearch [, lngStart, lngCmp])

ある文字列の中から指定された文字列を最後の文字位置から検索を開始し、最初に見つかった文字位置を返す文字列処理関数です。

引数

strString
検索先の文字列を指定します。
strSearch
検索する文字列を指定します。
lngStart
省略可能です。
検索の開始位置を設定する数式を指定します。(省略した場合は最後の文字位置から検索を開始します)
Null値が含まれると、エラーになります。
lngCmp
省略可能です。
文字列比較のモードを指定します。(省略した場合はバイナリモードで比較を行います)
定数 内容
vbBinaryCompare 0 バイナリ モードで比較を行います。
vbTextCompare 1 テキスト モードで比較を行います。

戻り値

条件 戻り値
strString が長さ 0 の文字列("")のとき 0
strString が Null 値のとき Null 値
strSearch が長さ 0 の文字列("")のとき lngStart
strSearch が Null 値のとき Null 値
strSearch が見つからないとき 0
strSearch が見つかったとき 文字列が見つかった位置
lngStartの値が strSearch の文字数より大きいとき 0

使用例

次のコードは、InStrRev 関数を使って文字列を検索する例です。

Dim lngPos
Dim strString
Dim strSearch
strString = "XXpXXpXXPXXP"   '検索対象の文字列
strSearch = "P"             '"P" を検索します
'先頭から10番目の文字から先頭に向かって、バイナリモードで比較を行います。
'先頭からの位置 9 を返します。
lngPos = InstrRev(strString, strSearch, 10, 0)
'最後の文字から先頭に向かって、テキストモードで比較を行います。
'先頭からの位置 12 を返します。
lngPos = InstrRev(strString, strSearch, -1, 1)
'既定ではバイナリ モードで比較を行います。
'8番目より前に "P" はないので、0 を返します。
lngPos = InstrRev(strString, strSearch, 8)
              

次次のコードは、InStrRev 関数を使ってファイル名から拡張子を取り出す例です。

Dim strString
Dim strFile
strFile = "sample.txt.txt"    'ドットが2つ以上ある場合もある
strString = Mid(strFile, InstrRev(strFile, ".") + 1)    '"txt" を返します。
              

備考

InStrRev 関数は InStr 関数と構文が異なりますので注意してください。

関連

InStr 関数

  • 最速攻略VBScriptサンプル大全集

    好評の「最速攻略 VBScript サンプル大全集」の改訂版です。これまでのWindows2000/XPに加え、Windows Vista、最新のWindows 7環境にも対応しています。Windows上での処理の自動化や一括処理(バッチ処理)をテーマとしたVBScriptのサンプルスクリプト集です。付属 CD-ROMには、すぐに使うことができる100以上のサンプルスクリプトを用意しています。

  • VBScriptポケットリファレンス改訂版

    WebでもWindowsでも使えるVBScriptだから手元においてさっと引けるこの一冊!VBScript5.6に対応!待望の改訂版!目的別リファレンスでやりたいことから調べられます。すべての項目にサンプルコード掲載!WSH、ASP、IEすべての環境でお役に立ちます。

  • Excel VBAポケットリファレンス改訂第3版

    好評のExcel VBAポケットリファレンスが改訂第3版としてリニューアルしました。知りたいコマンドがすぐ調べられる機能引きリファレンスはそのままに、最新の Excel 2010に完全対応。もちろん、これまでのExcel 97、2000、2002、2003、2007のすべてのバージョンに対応しています。「こんなときどうするの?」「どう書けばいいの?」という疑問がすぐ解決する、全てのExcel VBAユーザー必携の、最強のリファレンスブックです!

  • Access VBA逆引きハンドブック

    本書はAccess VBAの各機能を、豊富なプログラミング例を使って、初心者にもわかりやすく、かつ網羅的に解説しています。また、やりたいことを目的別に簡単に探せる「逆引き」の構成になっています。

このページの先頭へ