搜索
首页 电脑/网络 软件

VB下标越界

   Dim eachStr As Variant Dim dishNos As String Dim dishNames As Variant Dim dishNo As String Dim dishName As String Dim dishAddr As String Dim strline Dim z Dim n() As String Dim i As Long Dim nn Dim ff Dim vv Dim tt Dim nameAddr As Long Dim BinaryArray() As Byte nameAddr = 0 For Each eachStr In mStrings If eachStr <= 6 Then eachStr = eachStr End If dishNo = StrConv(Left$(eachStr, 6), vbFromUnicode) '拼音 dishName = Mid$(eachStr, 7) '汉字 Open App。
  Path + "\Output\22。
  txt" For Input As #1 While Not EOF(1) Line Input #1, strline z = z & strline & vbCrLf Wend Close #1 n = Split(z, vbCrLf) tt = eachStr For i = 0 To UBound(n) If dishName = "" And Left$(eachStr, 6) = Left$(n(i), 6) Then vv = Replace(tt, tt, n(i)) 这里得n(i)老是说下标越界 End If Next dishAddr = vbNullString nameAddr = LenB(StrConv(dishNames, vbFromUnicode)) ' dishAddr = ChrB$(nameAddr Mod 256) + dishAddr' nameAddr = nameAddr \ 256'' dishAddr = ChrB$(nameAddr Mod 256) + dishAddr' nameAddr = nameAddr \ 256'' dishAddr = ChrB$(nameAddr Mod 256) + dishAddr' nameAddr = nameAddr \ 256'' dishAddr = ChrB$(0) + dishAddr dishAddr = SetLong(nameAddr, False) nameAddr = LenB(StrConv(dishName, vbFromUnicode)) '--- 索引文件: 拼音(6) + 地址(4) + 汉字个数(1) dishNos = dishNos + dishNo + dishAddr + ChrB$(nameAddr \ 2) '--- 内容文件: 汉字串 dishNames = dishNames + dishName Next。

全部回答

2009-03-19

0 0
下标越界是指目前数组下标超出了原先定义的数组的最大下标。 你在定义n()数组时,没有定义下标,因此会出错。 可以在定义时给个合理的下标数如dim n(50) as string。 或者在使用数组前用redim重新定义。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报