为了账号安全,请及时绑定邮箱和手机立即绑定

对于vba中的strcomp函数的几点疑问?

对于vba中的strcomp函数的几点疑问?

白猪掌柜的 2019-02-14 15:11:23
strcomp语句需要设置比较参数:(excel 帮助里说)vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。 vbBinaryCompare 0 执行一个二进制比较。 vbTextCompare 1 执行一个按照原文的比较。 vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。 例如 str1=Hello,str2=Hellohello1、那么strcomp(str1,str2,vbusecompareoption)这个会返回什么值?vbusecompareoption 这个参数执行什么比较?2、strcomp(str1,str2,vbbinarycompare) 这个会返回什么值?二进制比较的是逐字比较还是只比较首字母?3、strcomp(str1,str2,vbtextcompare)这个会返回什么值?以上疑惑请大师帮忙解答,不胜感激二进制代码比较是遵循什么规则啊?
查看完整描述

2 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

一、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"的规则

查看完整回答
反对 回复 2019-03-25
  • 2 回答
  • 0 关注
  • 758 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信