Автоматизировать текстовый мастер импорта Excel?

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

3
задан 16.06.2010, 16:46

2 ответа

При записи макроса (Инструменты - Макрос - Рекордный Новый Макрос) при открытии файла Вы получите параметры, необходимо использовать метод 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 является тот, о котором Вы заботитесь. Это - массив 2-х массивов. Первый элемент является столбцом, и вторым является тип данных. Этот пример разделяет текстовый файл в следующих столбцах: 0, 8, 31, 41, 57, 77, 80, 82, 84, и 86.

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

3
ответ дан 08.12.2019, 00:36

Если Вы соглашаетесь с некоторыми Perl программирование,
существует модуль электронной таблицы, который поддерживает WriteExcel.

Я использовал это ранее, чтобы сделать инверсию того, что Вы хотите - преобразовывают файл Excel в формат CSV,
Я использовал ReadExcel для этого.

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

0
ответ дан 08.12.2019, 00:36

Теги

Похожие вопросы