欢迎来到天天文库
浏览记录
ID:52977917
大小:522.05 KB
页数:29页
时间:2020-04-05
《VBA字符串处理大全.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VBA字符串处理大全1VBA中的字符串2VBA中处理字符串的函数2.1比较字符串2.2转换字符串2.3创建字符串2.4获取字符串的长度2.5格式化字符串2.6查找字符串2.7提取字符/字符串2.8删除空格2.9返回字符代码2.10返回数值代表的相应字符2.11使用字节的函数2.12返回数组的函数2.13连接字符串2.14替换字符串2.15反向字符串====================================================1VBA中的字符串VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类字符串:一类为固定长度的字符串,声明时包含指字的字符
2、数。例如,下面的语句DimstrFixedLongAsString*100声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。另一类为动态字符串。例如,声明字符串变量DimstrDynamicAsString后,可以给该变量任意赋值,最多可包含20亿个字符。------------------------------2VBA中处理字符串的函数2.1比较字符比较字符串比较字符串串串通常,在VBA中进行字符串比较时,会用到比较运算符(如=、>等)、Like运算符
3、和StrComp函数。此外,在模块的开头用OptionCompare语句指定比较方式。2.1.1比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。此外,还可以使用Like运算符进行比较。2.1.2StrComp函数函数StrComp函数返回字符串比较的结果。其语法为:StrComp(string1,string2[,compare])其中,参数string1和strng2为必需的参数,可以是任何有效的字符串表达式。参数Compare为可选参数,如果该参数为Null,将发生错误。如果参数
4、Compare设置为常数vbUseCompareOption或-1或忽略该参数,将使用OptionCompare语句设置进行比较;如果忽略该参数且没有设置OptionCompare语句,则按二进制进行比较;如果参数Compare设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Compare设置为常数vbDatabaseCompare或2,此时仅适用于MicrosoftAccess,进行基于数据库信息的比较。StrComp函数的返回值为:如果String15、值为-1;如果String1=String2,则返回值为0;如果String1>String2,则返回值为1;如果String1或String2为Null,则返回值为Null。看看下面的示例:SubtestStringCompare()DimMyStr1AsString,MyStr2AsString,MyComp1,MyComp2,MyComp3,MyComp4MyStr1="ABCD"MyStr2="abcd"MyComp1=StrComp(MyStr1,MyStr2,1)'返回0MyComp2=StrComp(MyStr1,MyStr2,0)'返回-1MyComp3=StrCom6、p(MyStr1,MyStr2)'返回-1MyComp4=StrComp(MyStr2,MyStr1)'返回1MsgBox"StrComp(MyStr1,MyStr2,1)的结果为:"&MyComp1MsgBox"StrComp(MyStr1,MyStr2,0)的结果为:"&MyComp2MsgBox"StrComp(MyStr1,MyStr2)的结果为:"&MyComp3MsgBox"StrComp(MyStr2,MyStr1)的结果为:"&MyComp4EndSub示例说明:如果StrComp函数的第三个参数值为1,则以文本比较的方式进行字符串比较;如果第三个参数值为0或忽略该参7、数,则以二进制比较的方式进行字符串比较。注意,文本比较的方式不区分字母大小写,而二进制比较方式则区分大小写。[编程方法和技巧]完成一次简单的单一比较,如IfUCase(sString1)
5、值为-1;如果String1=String2,则返回值为0;如果String1>String2,则返回值为1;如果String1或String2为Null,则返回值为Null。看看下面的示例:SubtestStringCompare()DimMyStr1AsString,MyStr2AsString,MyComp1,MyComp2,MyComp3,MyComp4MyStr1="ABCD"MyStr2="abcd"MyComp1=StrComp(MyStr1,MyStr2,1)'返回0MyComp2=StrComp(MyStr1,MyStr2,0)'返回-1MyComp3=StrCom
6、p(MyStr1,MyStr2)'返回-1MyComp4=StrComp(MyStr2,MyStr1)'返回1MsgBox"StrComp(MyStr1,MyStr2,1)的结果为:"&MyComp1MsgBox"StrComp(MyStr1,MyStr2,0)的结果为:"&MyComp2MsgBox"StrComp(MyStr1,MyStr2)的结果为:"&MyComp3MsgBox"StrComp(MyStr2,MyStr1)的结果为:"&MyComp4EndSub示例说明:如果StrComp函数的第三个参数值为1,则以文本比较的方式进行字符串比较;如果第三个参数值为0或忽略该参
7、数,则以二进制比较的方式进行字符串比较。注意,文本比较的方式不区分字母大小写,而二进制比较方式则区分大小写。[编程方法和技巧]完成一次简单的单一比较,如IfUCase(sString1)
此文档下载收益归作者所有