首页 > 解决方案 > 使用 Access VBA 更改列 .csv 文件的值

问题描述

我有一个保存为 .csv 的 .dat 文件,它导入到一个表中,好的。但是这个文件在第一列= HOUR "hnnss"。文件名包含我已经设法将其分开并将其保存在 variable=date 中的日期。

我的问题是:将文件保存为 .csv 时,我需要打开文件,将第一列的值从hnnssto更改为data hh:nn:ss然后保存并关闭,然后才将其导入表中。它需要按这个顺序。感谢帮助。

PS:我正在使用 Access 365 + VBA 7.1

在此处输入图像描述

标签: vbams-accessconcatenation

解决方案


Andreia:您可以使用此处Import csv to array和此循环中的方法读取文件:

    For i = 2 To UBound(aryFile) - 1  ' in your case start with second line
        tsOut.WriteLine aryFile(i)
    Next

实现这样的格式:

    ' in your case start with second line if the 1st is header
    For i = 1 To UBound(aryFile) - 1  
        aryRow = Split(aryFile(i), ",")
        aryRow(0) = formatTime(aryRow(0), aryRow(?)) ' replace ? with index of date field
        tsOut.WriteLine Join(aryRow,",")
    Next

上面的代码正在使用formatTime(fieldWithTime, fieldWithDate)您需要编写的函数,该函数返回整个日期的格式化字符串。我把它留给你。如果您无法对其进行编码,请告诉我,但在这种情况下,您宁愿阅读一些有关 VBA 编程的书籍。

注意:我没有调试代码。这只是一个想法。


推荐阅读