index和length必须引用字符串vb中的位置

时间:2017-10-11 13:50:54

标签: excel vb.net

我必须将Excel文件导入Access数据库。我的Excel有一个名为' Description'的列。通常描述是一个单元格,但它可能会发生更长的时间。如果长度超过255个字符,我会剪切字符串并使用' ...'修改最后3个字符。 但是,当我运行程序时,我有一个错误"索引和长度必须引用字符串中的位置"。 我甚至试图删除长度上的检查,但显然我有这个错误"字段太小而无法接受您尝试添加的数据量"

If flag = 2 Then
                stringVoice = grid(r, 3).Text
                voc.Description = voc.Description & stringVoice
                If voc.Description.Length > 255 Then
                    voc.Description = grid(r, 3).Text.ToString.Substring(0, 252) + "..."
                End If
End If

这是产生索引和长度错误的代码。如果在单个单元格中有超过255个字符

,则之前已完成相同的检查
Case 1 'voce
                    id = id + 1
                    flag = 2

                    voc = New cVoce
                    c_Voc = voc.Cod_Chapter
                    p_Voc = voc.Cod_Paragraph
                    voc.Cod_Chapter = grid(r, 1).Text.Substring(0, 1)
                    voc.Cod_Paragraph = grid(r, 1).Text.Split(".")(0)
                    voc.Cod_Voice = Right(vett(0), 2)
                    If grid(r, 3).Text.Length > 255 Then
                        voc.Description = grid(r, 3).Text.ToString.Substring(0, 252) + "..."
                    Else
                        voc.Description = grid(r, 3).Text.ToString
                        If voc.Description.EndsWith("-") Then
                            a = Replace(voc.Description, "-", "") 
                            voc.Description = a
                        End If

                    End If
                    stringVoice = voc.Description
                    voices.Add(voc)

但在这种情况下,我从来没有犯过错误。

有人可以帮我修改我的代码吗?

0 个答案:

没有答案