7,787
社区成员
发帖
与我相关
我的任务
分享
Private Sub cmdTest_Click()
Dim strY As String
Dim varR As Variant
'txtY.text="12,36"
strY = Trim$(txtY.Text)
varR = Split(strY, ",", , vbTextCompare)
MsgBox "" & varR(0) & "|" & varR(1), vbInformation, "系统消息"
End Sub





把VB执行文件这个XP兼容模式的钩去掉,然后就好了

测试了一下,用普通的vbBinaryCompare不会出错,用了vbTextCompare就不行,Instr,InstrRev,Split,Replace都会失效
[/quote]
win10即使运行时啥的有SP6 ,拿98年的安装程序干下去也都打回原形了吧
[/quote]
win10即使运行时啥的有SP6 ,拿98年的安装程序干下去也都打回原形了吧[/quote]
这个“SP6”是VB6的,跟Win10无关啊。
[/quote]
win10即使运行时啥的有SP6 ,拿98年的安装程序干下去也都打回原形了吧[/quote]
这个“SP6”是VB6的,跟Win10无关啊。
[/quote]
我的意思是:即使win10自带的vb6运行库和必要控件已经是Sp6的了,我拿98年的原始安装包安装一下VB6,也把系统自带的运行库打回原形了。

VB6的Split 的“操作函数”只有一个,就是MSVBVM60.dll中的 rtcSplit 。
无论IDE下还是编译后,都是调用这个接口进行操作的。
会不会楼主自己的代码中写了个“不正确的Split函数”? (当然可能性很小
)
你在代码中的 Split处点鼠标右键,再点“定义”,看看它是不是打开对象浏览器、定位到 VBA.String模块中了?
还有一点:
你试试 把Dim varR As Variant 改成 Dim varR() as string 看看。