Измените значение файла .csv столбца с помощью Access VBA - PullRequest
0 голосов
/ 10 марта 2020

У меня есть файл .dat, который я сохранил как .csv, и он импортирует в таблицу, хорошо. Но этот файл имеет в первом столбце = HOUR "hnnss". Имя файла содержит дату, когда мне уже удалось разделить его и сохранить в переменной = date.

Моя проблема: при сохранении файла в формате .csv мне нужно открыть файл, изменить значения первый столбец от hnnss до data hh:nn:ss, а затем сохранить и закрыть, только после этого я импортирую его в таблицу. Это должно быть в такой последовательности. Спасибо за помощь.

PS: я использую Access 365 + VBA 7.1

enter image description here

1 Ответ

0 голосов
/ 11 марта 2020

Андрея: Вы можете прочитать файл, используя метод как здесь Импортировать CSV в массив и в этом l oop:

    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.

Примечание: я не отлаживал код. Это всего лишь идея.

...