十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我用VB6运行不报错
创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站建设、成都网站建设, 我们的网页设计师为您提供的解决方案。
但在Excel的VBA中运行则报错
值得说明的是,我的VB6是打了SP5补丁的
尽管你可能不愿意听,但这确实是VB语言的一个Bug,只要字符串中含有如下日文字符(并不是全部日文字符),在进行文本比较时就会出错(二进制比较则不会出错):
ゴガギグゲザジズヅデドポベプビパヴボペブピバヂダゾゼ
这个Bug已经被微软通过补丁更正。
可以用变通的方法实现不区分大小写的字符串查询:
MsgBox InStr(1, LCase("12K新 ペンダント縦约"), LCase("12k"))
也就是说把原始字符串和要查找的字符串都转为小写(或者都转为大写)再来查找即可。
题主这个FunctionFindWindow(一堆参数)AsLong,返回值是个Long,而下面wd=FindWindow(),wd却是个Integer类型的,当然会溢出。楼上说都改成Long确实可以,不过题主的API声明是从VB里拷贝过来的吧?VB里的Long到.NET中就是Int32了,所以应该把上面FindWindow的返回类型由Long改为Int32(或者Integer)才是正解。
溢出就是说你设置的变量不合适,数据大于你设置的变量范围了.
比如你设置的是int,,,,而数据超过了256,就会
溢出