Кевин спрашивает,
У меня есть набор данных, который хранится в текстовом файле с разделителями табуляции. Некоторая информация должна содержать «заполнение» - например, почтовые индексы (они должны быть длиной 5 или 9 символов). Когда текстовый файл открывается в Excel, автоматически открывается мастер импорта текста. Существует возможность указать, что столбец, содержащий эти данные, является текстовым, а не общим. Выбор этого параметра работает, но требует, чтобы я открывал его вручную. Мне не удалось найти способ в VBA, чтобы информация была текстовой, а не универсальной, и сохранила мои «отступы».
Включите средство записи макросов и запишите процесс импорта текстового файла. Вот полученный код:
Workbooks.OpenText Filename:= “C:TestData.txt”, Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1)), TrailingMinusNumbers:=True
Параметр FieldInfo управляет тем, как импортируется каждое поле. В этом случае регистратор макросов заметил, что у вас 4 поля. Запись Array (2, 1) говорит, что для 2-го поля используйте тип поля «General». Обратите внимание, что для поля 3 записью является массив (3, 2). «2» - это код для Excel, чтобы импортировать это поле как текст.