InStr 函數
會傳回 Variant (Long),指定另一個字串內某個字串的第一個出現位置。
注意事項
對於開發跨多個平台,擴充使用者 Office 體驗的解決方案感到興趣嗎? 請參閱新的 Office 增益集模型。 與 VSTO 增益集和解決方案相比,Office 增益集的佔用空間較小,而且您可以使用幾乎任何網頁程式技術 (例如 HTML5、JavaScript、CSS3 和 XML) 來建立這些增益集。
語法
InStr([ start ], string1, string2, [ compare ])
InStr 函數語法有下列引數:
部分 | 描述 |
---|---|
start | 選用。 設定每個搜尋的起始位置的數值運算式。 如果省略,會從第一個字元位置開始搜尋。 如果 start 包含 Null,會發生錯誤。 如果有指定 compare,則需要 start 引數。 |
string1 | 必要項目。 要搜尋的字串運算式。 |
string2 | 必要項目。 搜尋到的字串運算式。 |
compare | 選用。 指定字串比較的類型。 如果 compare 為 Null,則會發生錯誤。 如果省略 compare,Option Compare 設定會決定比較的類型。 指定有效的 LCID (LocaleID),在比較中使用地區設定特定的規則。 |
設定
compare 引數的設定如下。
常數 | 值 | 描述 |
---|---|---|
vbUseCompareOption | -1 | 使用 Option Compare 陳述式的設定來執行比較。 |
vbBinaryCompare | 0 | 執行二進位比較。 |
vbTextCompare | 1 | 執行文字比較。 |
vbDatabaseCompare | 2 | 僅限 Microsoft Access。 根據資料庫中的資訊執行比較。 |
傳回值
If | InStr 傳回 |
---|---|
string1 長度為零 | 0 |
string1 是 Null | Null |
string2 長度為零 | start |
string2 是 Null | Null |
string2 找不到 | 0 |
string2 在 string1 中找到 | 找到相符項目的位置 |
start>string2 | 0 |
註解
InStrB 函數會與字串所含的位元組資料一起使用。 InStrB 會傳回位元位置,而不是傳回某個字串在另一個字串內第一個出現的字元位置。
範例
此範例使用 InStr 函數傳回某個字串在另一個字串內第一個出現的位置。
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。