注册 登录
编程论坛 VB6论坛

VB6如何提取CSV文件首行第12个字段内容(即L1单元格)

alickluo 发布于 2023-04-22 15:31, 761 次点击
各位老师:

VB6如何提取FR.CSV文件首行第12个字段内容(即L1单元格),L1单元格由公式构成,想提取计算后的结果到TEXT1文本框中

谢谢!
2 回复
#2
风吹过b2023-04-22 17:57
如果  CSV 文件里保存的是公式,那就得想想办法运行公式,再得出结果
方法一:使用 EXCEL 打开文件,然后读单元格值。建议这种。这种方法还有变种,使用类似EXCEL 的控件,如 CELL 来做。
方法二:自己解析公式,自己写调整函数名(VBS提供了的函数)或自己写运算函数(VBS未提供的函数),根据参数表,取对应单元格的值填充进去,再调用 vbs 的 Eval 运算。
方法三:自己完整写出一个VBA来
#3
东海ECS2023-04-24 18:57
可以使用VB6内置的FileSystemObject以及Split函数来读取CSV文件中的数据,并提取出指定的单元格内容。

下面是一个简单的示例代码,假设CSV文件名为FR.csv,待提取的单元格为L1,将结果显示在TEXT1文本框中:

程序代码:
Private Sub Command1_Click()
    Dim fso As New FileSystemObject
    Dim ts As TextStream
    Dim csvText As String
    Dim csvArray() As String
    Dim l1Text As String
   
    ' 打开文件并读取内容到字符串变量
    Set ts = fso.OpenTextFile("FR.csv", ForReading)
    csvText = ts.ReadAll
   
    ' 关闭文件
    ts.Close
   
    ' 将字符串按行分割为数组
    csvArray = Split(csvText, vbCrLf)
   
    ' 提取第一行的数据
    Dim row1() As String
    row1 = Split(csvArray(0), ",")
   
    ' 提取第12个字段(即L1单元格)的内容
    l1Text = row1(11)
   
    ' 将提取的结果显示在TEXT1文本框中
    Text1.Text = l1Text
End Sub

在代码中,首先创建一个FileSystemObject对象,打开CSV文件并读取其中的内容到一个字符串变量中。然后,使用Split函数将字符串按行分割为一个数组,并提取出其中第一行的数据。再从第一行中提取出第12个字段(即L1单元格)的内容,并将结果显示在TEXT1文本框中。



1