2 回答
TA贡献1811条经验 获得超5个赞
一、vbusecompareoption 是参数的名称,它有三个值,分别是
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。
注意,vbusecompareoption 本身不是参数值!!!
所以,你的strcomp(str1,str2,vbusecompareoption)这个会返回”错误”。因为参数“vbusecompareoption”对VBA来说,是一个未定义的参数。
二、strcomp(str1,str2,vbbinarycompare)返回 -1
二进制比较的是按二进制字节进行比较。
三、strcomp(str1,str2,vbtextcompare)返回 -1
二进制代码比较遵循 "0111010101010101010110000000000011"的规则
TA贡献1794条经验 获得超7个赞
vbUseCompareOption是根据模块头的Option Compare语句来确定比较的。
当是Option Compare Text 时,则是 vbTextCompare比较,当是Option Compare Binary时,则是 vbBinaryCompare 比较,如果模块中没有 Option Compare 语句,则缺省的文本比较方法是 Binary。
比较规则和字符串长度无关,如果第一个字符不同,则只比较第一个字符,如果相同,接着再比较第二个字符,直到碰到第一个不同的字符,后面的字符就忽略了。
添加回答
举报