2

Я программист, но недавно познакомился с PowerShell и VBA. Я нашел эту простую, но эффективную команду в powershell для чтения в файле csv, и вы можете сразу получить доступ к "столбцам" по их заголовку в файле csv. в приведенном ниже примере был заголовок "Описание местоположения", и я мог сразу получить доступ к столбцу по этому заголовку. Есть ли в VBA что-то похожее на чтение в CSV-файле и будет ли это похоже на чтение в рабочей таблице, если макрос был запущен из электронной таблицы?

Фрагмент кода

$InputData = import-csv $InputFile
foreach ($row in $InputData)
{
    $locdesc = $row."Location Description"

1 ответ1

0

В Excel VBA нет ничего, что позволяло бы вам обращаться к столбцу в CSV-файле по его заголовку / имени поля.

Однако в библиотеках объектов данных Microsoft ActiveX есть ADODB. Там вы можете открыть соединение с CSV, используя строку соединения JET/CSV, чтобы указать на файл, определить разделитель и сообщить, что у вас есть заголовки. Затем вы можете открыть содержимое CSV в наборе записей и обратиться к полям по имени в объекте набора записей. Вы также можете выбросить в CSV любой SQL-запрос и выполнить некоторые манипуляции с данными, прежде чем получить набор записей обратно в JET.

Это немного округло, но если все, что вы знаете, это название поля в CSV, а не порядковый номер, то это, вероятно, ваш лучший выбор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .