Метод 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 и обратная связь.