Range.CopyFromRecordset 方法 (Excel)

將 ADO 或 DAO Recordset 物件的內容複製到工作表中,複製的起始位置在指定範圍的左上角。 如果 Recordset 物件包含具 OLE 物件的欄位,本方法將失效。

語法

expression.CopyFromRecordset (Data, MaxRows, MaxColumns)

expression 代表 Range 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Data 必要 Variant 要複製到指定範圍中的 Recordset 物件。
MaxRows 選用 Variant 要複製到工作表的記錄數上限。 如果省略此引數,將複製 Recordset 物件中的所有記錄。
MaxColumns 選用 Variant 要複製到工作表的欄位數上限。 如果省略此引數,將複製 Recordset 物件中的所有欄位。

傳回值

Long

備註

會從 Recordset 物件目前的列開始複製。 複製完成之後,Recordset 物件的 EOF 屬性值為 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 支援與意見反應