欢迎来到天天文库
浏览记录
ID:14258275
大小:113.50 KB
页数:24页
时间:2018-07-27
《数据结构域算法设计-vba中的字符串操作教案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、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运算符和S
3、trComp函数。此外,在模块的开头用OptionCompare语句指定比较方式。2.1.1比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。此外,还可以使用Like运算符进行比较。2.1.2StrComp函数StrComp函数返回字符串比较的结果。其语法为: StrComp(string1,string2[,compare])其中,参数string1和strng2为必需的参数,可以是任何有效的字符串表达式。参数Compare为可选参数,如果该参数为Null,将发生错误。如果参数Com
4、pare设置为常数vbUseCompareOption或-1或忽略该参数,将使用OptionCompare语句设置进行比较;如果忽略该参数且没有设置OptionCompare语句,则按二进制进行比较;如果参数Compare设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Compare设置为常数vbDatabaseCompare或2,此时仅适用于MicrosoftAccess,进行基于数据库信息的比较。StrComp函数的返回值为:如果String15、如果String1=String2,则返回值为0;如果String1>String2,则返回值为1;如果String1或String2为Null,则返回值为Null。看看下面的示例:SubtestStringCompare() DimMyStr1AsString,MyStr2AsString,MyComp1,MyComp2,MyComp3,MyComp4 MyStr1="ABCD" MyStr2="abcd" MyComp1=StrComp(MyStr1,MyStr2,1) '返回0 MyComp2=StrComp(MyStr1,MyStr2,0) '返回-1 MyComp3=S6、trComp(MyStr1,MyStr2) '返回-1 MyComp4=StrComp(MyStr2,MyStr1) '返回1 MsgBox"StrComp(MyStr1,MyStr2,1)的结果为:"&MyComp1 MsgBox"StrComp(MyStr1,MyStr2,0)的结果为:"&MyComp2 MsgBox"StrComp(MyStr1,MyStr2)的结果为:"&MyComp3 MsgBox"StrComp(MyStr2,MyStr1)的结果为:"&MyComp4EndSub示例说明:如果StrComp函数的第三个参数值为1,则以文本比较的方式进行字符串比较;如7、果第三个参数值为0或忽略该参数,则以二进制比较的方式进行字符串比较。注意,文本比较的方式不区分字母大小写,而二进制比较方式则区分大小写。[编程方法和技巧]完成一次简单的单一比较,如IfUCase(sString1)
5、如果String1=String2,则返回值为0;如果String1>String2,则返回值为1;如果String1或String2为Null,则返回值为Null。看看下面的示例:SubtestStringCompare() DimMyStr1AsString,MyStr2AsString,MyComp1,MyComp2,MyComp3,MyComp4 MyStr1="ABCD" MyStr2="abcd" MyComp1=StrComp(MyStr1,MyStr2,1) '返回0 MyComp2=StrComp(MyStr1,MyStr2,0) '返回-1 MyComp3=S
6、trComp(MyStr1,MyStr2) '返回-1 MyComp4=StrComp(MyStr2,MyStr1) '返回1 MsgBox"StrComp(MyStr1,MyStr2,1)的结果为:"&MyComp1 MsgBox"StrComp(MyStr1,MyStr2,0)的结果为:"&MyComp2 MsgBox"StrComp(MyStr1,MyStr2)的结果为:"&MyComp3 MsgBox"StrComp(MyStr2,MyStr1)的结果为:"&MyComp4EndSub示例说明:如果StrComp函数的第三个参数值为1,则以文本比较的方式进行字符串比较;如
7、果第三个参数值为0或忽略该参数,则以二进制比较的方式进行字符串比较。注意,文本比较的方式不区分字母大小写,而二进制比较方式则区分大小写。[编程方法和技巧]完成一次简单的单一比较,如IfUCase(sString1)
此文档下载收益归作者所有