Vb6 使用VB从csv文件读取数据

Vb6 使用VB从csv文件读取数据,vb6,csv,Vb6,Csv,这是我写的代码,首先以excel格式打开csv文件,然后找到所需的三列,然后从中读取数据,然后将数据保存到另一个变量中,并在文本框中显示它们。关于csv文件,它包含许多列,其中我只关注标题ID、L、Lg下的3列 问题是Excel实际上并没有打开,但Excel.exe进程在任务管理器中运行。 但到目前为止,这并不是编译错误;编译错误出现在“Next”语句中。它说编译错误:下一个没有For 我对这个感到困惑。请帮我拿这个,提前谢谢 私有子cmdFind_Click() End Sub您可以打开CSV

这是我写的代码,首先以excel格式打开csv文件,然后找到所需的三列,然后从中读取数据,然后将数据保存到另一个变量中,并在文本框中显示它们。关于csv文件,它包含许多列,其中我只关注标题ID、L、Lg下的3列

问题是Excel实际上并没有打开,但Excel.exe进程在任务管理器中运行。 但到目前为止,这并不是编译错误;编译错误出现在“Next”语句中。它说编译错误:下一个没有For

我对这个感到困惑。请帮我拿这个,提前谢谢

私有子cmdFind_Click()


End Sub

您可以打开CSV格式的文本文件,并使用ADO和Jet提供商的文本IISAM对其进行操作。比自动化Excel要简单得多。或者,您可以将这些行作为文本读取,并在逗号上拆分()

您所做的操作会打开Excel,但您没有要求Excel可见。。。虽然我不知道你为什么要那样


你到底想做什么?

至于你的编译错误,那是因为你缺少了一些结束if。 写为:

For I = 1 To 8 Step 1
    If xlSht.Cells(I, 1).Value = "ID" Then
        FCol = I
    Else
        If xlSht.Cells(I, 1).Value = "L" Then
            LCol = I
        Else
            If xlSht.Cells(I, 1).Value = "Lg" Then
                LgCol = I
            End If
        End If
    End If
Next I
或作为:

For I = 1 To 8 Step 1
    If xlSht.Cells(I, 1).Value = "ID" Then
        FCol = I
    ElseIf xlSht.Cells(I, 1).Value = "L" Then
        LCol = I
    ElseIf xlSht.Cells(I, 1).Value = "Lg" Then
        LgCol = I
    End If
Next I

是的,如果只是为了读取特定的列,那么文本IISAM就足够了。嗨,Thanx 4编译错误。L是纬度,Lg是经度。我正试图从一个csv文件中读取,该文件对应于多个ID中的一个。我的目的是读取这些值。您好,在next的编译错误消失后,它表示需要对象的编译错误,并指向第一行私有子CmdFind_Click()Hi,Thanx 4编译错误。L是纬度,Lg是经度。我正试图从一个csv文件中读取,该文件对应于多个ID中的一个。我的目的是阅读这些价值观。但在next的编译错误消失后,它会显示“需要对象的编译错误”,并指向第一行私有子CmdFind_Click()。您的项目引用中是否有对Excel的引用?如果转到Project>References,是否有Microsoft Excel xx对象库的选中项?(xx是一个版本)。
For I = 1 To 8 Step 1
    If xlSht.Cells(I, 1).Value = "ID" Then
        FCol = I
    ElseIf xlSht.Cells(I, 1).Value = "L" Then
        LCol = I
    ElseIf xlSht.Cells(I, 1).Value = "Lg" Then
        LgCol = I
    End If
Next I