Поделиться через


Метод Range.CopyFromRecordset (Excel)

Копирует содержимое объекта ADO или DAO Recordset на лист, начиная с левого верхнего угла указанного диапазона. Если объект Recordset содержит поля с объектами OLE, этот метод завершается ошибкой.

Синтаксис

expression. CopyFromRecordset (Data, MaxRows, MaxColumns)

выражение: переменная, представляющая объект Range.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Data Обязательный Variant Объект Recordset для копирования в диапазон.
MaxRows Необязательный Variant Максимальное количество записей для копирования на лист. Если этот аргумент опущен, копируются все записи в объекте Recordset .
MaxColumns Необязательный Variant Максимальное количество полей для копирования на лист. Если этот аргумент опущен, копируются все поля в объекте Recordset .

Возвращаемое значение

Long

Замечания

Копирование начинается с текущей строки объекта Recordset . После завершения копирования свойство EOF объекта Recordset имеет значение True. Рекомендуется задать переменную объекта для диапазона, в который выполняется копирование из набора записей. В противном случае могут возникнуть универсальные ошибки автоматизации в зависимости от набора записей и диапазона.

Пример

В этом примере имена полей из объекта DAO Recordset копируются в первую строку листа и форматируются полужирным шрифтом. Затем в примере набор записей копируется на лист, начиная с ячейки A2.

For iCols = 0 to rs.Fields.Count - 1 
 ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name 
Next 
ws.Range(ws.Cells(1, 1), _ 
 ws.Cells(1, rs.Fields.Count)).Font.Bold = True
Set PushRange = ws.Range("A2")
PushRange.CopyFromRecordset rs

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.