欢迎来到天天文库
浏览记录
ID:14506872
大小:39.94 KB
页数:22页
时间:2018-07-29
《vba中处理字符串常用函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在VBA中处理字符串1VBA中的字符串VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类字符串:一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句DimstrFixedLongAsString*100声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。另一类为动态字符串。例如,声明字符串变量DimstrDynamicAsString后,可以给该变量任意赋值,最多可包含20亿个字符。2VBA中处理字符串的函数2.1比较字符
2、串通常,在VBA中进行字符串比较时,会用到比较运算符(如=、>等)、Like运算符和StrComp函数。此外,在模块的开头用OptionCompare语句指定比较方式。2.1.1比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。此外,还可以使用Like运算符进行比较。2.1.2StrComp函数StrComp函数返回字符串比较的结果。其语法为:StrComp(string1,string2[,compare])其中,参数string1和strng2为必需的参数,可以是任何有效的
3、字符串表达式。参数Compare为可选参数,如果该参数为Null,将发生错误。如果参数Compare设置为常数vbUseCompareOption或-1或忽略该参数,将使用OptionCompare语句设置进行比较;如果忽略该参数且没有设置OptionCompare语句,则按二进制进行比较;如果参数Compare设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Compare设置为常数vbDatabaseCompare或2,此时仅适用于MicrosoftAccess,进行
4、基于数据库信息的比较。StrComp函数的返回值为:如果String1String2,则返回值为1;如果String1或String2为Null,则返回值为Null。看看下面的示例:SubtestStringCompare()DimMyStr1AsString,MyStr2AsString,MyComp1,MyComp2,MyComp3,MyComp4MyStr1="ABCD"MyStr2="abcd"MyComp1=StrComp(MyStr1,MyStr2,1)'返回0
5、MyComp2=StrComp(MyStr1,MyStr2,0)'返回-1MyComp3=StrComp(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示例说
6、明:如果StrComp函数的第三个参数值为1,则以文本比较的方式进行字符串比较;如果第三个参数值为0或忽略该参数,则以二进制比较的方式进行字符串比较。注意,文本比较的方式不区分字母大小写,而二进制比较方式则区分大小写。[编程方法和技巧]完成一次简单的单一比较,如IfUCase(sString1)7、换字符串。其语法为:StrConv(string,conversion,LCID)其中,参数string为要转换的字符串,参数conversion为指定转换的类型,参数LCID为可选参数。如果将参数conversion设置为vbUpperCase或1,则将字符串转换成大写;设置为vbLowerCase或2,则将字符串转换成小写;设置为vbProperCase或3,则将字符串中每个字的开头字母转换成大写;设置为vbUnicode或64,则根据系统的缺省码页将字符串转换成Unicode;设置为vbFromU
7、换字符串。其语法为:StrConv(string,conversion,LCID)其中,参数string为要转换的字符串,参数conversion为指定转换的类型,参数LCID为可选参数。如果将参数conversion设置为vbUpperCase或1,则将字符串转换成大写;设置为vbLowerCase或2,则将字符串转换成小写;设置为vbProperCase或3,则将字符串中每个字的开头字母转换成大写;设置为vbUnicode或64,则根据系统的缺省码页将字符串转换成Unicode;设置为vbFromU
此文档下载收益归作者所有