vb中用数组读取两行文件的函数,出现的问题:类型不匹配,输入超出文件尾

'##################################################################
'## 函数名称:ReadCodes
'## 参数: 无
'As Variant'## 返回类型:As Variant
'##################################################################
Function ReadCodes() As Variant
Dim codeStr, valStr As String
Line Input #1, codeStr
Line Input #1, valStr
' 修剪代码中的前导及后随空格

ReadCodes = Array(Trim(codeStr), valStr)
End Function
'##################################################################
'## 过程名称:Command2_Click
'## 参数: 无
'##################################################################
Private Sub Command2_Click()
Dim codes() As String
Open CommonDialog1.FileName For Input As #1
codes = ReadCodes
我上面用了一个数组函数表示读取两行文件,按我的理解,这个函数是每执行一次,读取两行,但是运行的时候提示,输入超出文件尾,为什么执行到codes = ReadCodes这就已经超出文件尾了,怎么解决?另外,codes = ReadCodes也会提示类型不匹配,怎么解决?请各位高手指点,谢谢!
在codes = ReadCodes上面还有一句Text3.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
谢谢

Text3.Text = StrConv(InputB$(LOF(1), 1), vbUnicode) 这句已经读到文件尾了,它把文件指针移到了文件尾,下次再想从该指针位置接着向下读,自然没有了。
把文件关上,再重新打开。

codes = ReadCodes :把 ReadCodes函数定义为 As String() 类型
或者 codes 定义为通用类型Dim codes
温馨提示:答案为网友推荐,仅供参考
相似回答