Автоматизировать Мастер Импорта Текста Excel?

Я иногда получаю файлы в формате фиксированной ширины. Мне нужно импортировать их в Excel, но Excel не идеально подобрать колонки. Я могу сделать это вручную каждый раз с помощью мастера импорта текста, но мне интересно, есть ли способ создать "шаблон импорта текста" или что - то подобное-поскольку эти файлы всегда имеют один и тот же формат.

28
задан Dave Mackey
29.03.2023 23:41 Количество просмотров материала 2662
Распечатать страницу

3 ответа

Если вы записываете макрос (Tools-Macro-Record New Macro) во время открытия файла, вы получите параметры, необходимые для использования метода OpenText. Вот вам пример

Workbooks.OpenText Filename:= _
    "C:\Documents and Settings\dick\My Documents\actsynclog.txt", Origin:=437, _
    StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(8, _
    1), Array(31, 1), Array(41, 1), Array(57, 1), Array(77, 1), Array(80, 1), Array(82, 1), _
    Array(84, 1), Array(86, 1)), TrailingMinusNumbers:=True

аргумент объект fieldinfo это вас волнует. Это массив 2d массивов. Первый элемент является столбцом, а второй-типом данных. Этот пример разбивает текстовый файл, в следующих столбцах: 0, 8, 31, 41, 57, 77, 80, 82, 84, и 86.

С этим вы можете написать макрос для открытия текстового файла. Как выбрать файл для открытия, смотрите метод GetOpenFileName объекта приложения.

3
отвечен dkusleika 2023-03-31 07:29

в Excel, можно сохранить настройки импорта текста (как "шаблон") и использовать их с любым текстовым файлом позже. Блогпост Excel MVP Jan Karel Pieterse подробно описывает это: http://blogs.office.com/2010/06/10/importing-text-files-in-an-excel-sheet/

"шаблон импорта текста" создается автоматически по завершении работы мастера импорта текста. Убедитесь, что вы сохраните книгу, чтобы сохранить "шаблон".

повторно использовать его с другими (или тот же) текстовый файл:

  1. щелкните любую ячейку на листе, в которой содержатся (используемые для хранения) данные предыдущего импорта.
    • Excel 2007/2010: нажмите данные - > обновить все раскрывающийся список - > обновить
    • Excel 2003 и старше: нажмите данные - > обновить данные

Если вы используете этот" шаблон", чтобы всегда импортировать файл с тем же именем и расположением, вы можете настроить "шаблон" так, чтобы Excel не запрашивал у вас имя файла при каждом нажатии кнопки Обновить.

во время импорта текста выберите Свойства... в диалоговом окне импорт данных и снимите флажок запрашивать имя файла при обновлении в диалоговом окне Свойства внешнего диапазона данных. Вы также можете изменить это позже в диалоговом окне свойства соединения.

Я бы опубликовал скриншоты, но мне "нужно не менее 10 репутации для публикации изображений."

1
отвечен Weaver 2023-03-31 09:46

Если вы не некоторые Perl Программирование

существует таблицы модуль, который поддерживает WriteExcel.

я использовал это раньше, чтобы сделать обратное тому, что вы хотите--преобразование файла Excel в формат CSV,

Я использовал ReadExcel для этого.

взгляните на примеры в WriteExcel ссылка здесь и другие ссылки для XLS-CSV по этому вопросу вы можете найти что-то, что работает для вас между ними.

0
отвечен nik 2023-03-31 12:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх