InStr 函数
返回一个 Variant (Long) 值,指定一个字符串在另一个字符串中首次出现的位置。
注意
有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。
语法
InStr([ start ], string1, string2, [ compare ])
InStr 函数语法有以下参数:
Part | 说明 |
---|---|
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 |
在 string1 中找到 string2 | 找到匹配的位置 |
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 支持和反馈,获取有关如何接收支持和提供反馈的指南。