Свойство QueryTable.TextFileFixedColumnWidths (Excel)
Возвращает или задает массив целых чисел, соответствующих ширине столбцов (в символах) в текстовом файле, импортируемом в таблицу запросов. Допустимая ширина составляет от 1 до 32767 символов. Для чтения и записи, Variant.
Синтаксис
expression. TextFileFixedColumnWidths
Выражение Переменная, представляющая объект QueryTable .
Замечания
Используйте это свойство только в том случае, если таблица запросов основана на данных из текстового файла (со свойством QueryType , равным xlTextImport), и только если значение свойства TextFileParseType равно xlFixedWidth.
Необходимо указать допустимую ширину столбца, не относяющуюся к удалению. Если указать столбцы, превышающие ширину текстового файла, эти значения игнорируются. Если ширина текстового файла больше общей ширины указанных столбцов, баланс текстового файла импортируется в дополнительный столбец.
При импорте данных с помощью пользовательского интерфейса данные из веб-запроса или текстового запроса импортируются как объект QueryTable , а все остальные внешние данные импортируются как объект ListObject .
При импорте данных с помощью объектной модели данные из веб-запроса или текстового запроса должны быть импортированы как QueryTable, а все остальные внешние данные можно импортировать как ListObject или QueryTable.
Свойство TextFileFixedColumnWidths применяется только к объектам QueryTable .
Пример
В этом примере импортируется текстовый файл фиксированной ширины в новую таблицу запросов на первом листе первой книги. Первый столбец в текстовом файле имеет пять символов в ширину и импортируется как текст. Второй столбец имеет четыре символа в ширину и пропускается. Остальная часть текстового файла импортируется в третий столбец и имеет к нему общий формат.
Set shFirstQtr = Workbooks(1).Worksheets(1)
Set qtQtrResults = shFirstQtr.QueryTables _
.Add(Connection := "TEXT;C:\My Documents\19980331.txt", _
Destination := shFirstQtr.Cells(1, 1))
With qtQtrResults
.TextFileParseType = xlFixedWidth
.TextFileFixedColumnWidths = Array(5, 4)
.TextFileColumnDataTypes = _
Array(xlTextFormat, xlSkipColumn, xlGeneralFormat)
.Refresh
End With
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.