タイトル | : Re: エクセルデータが取込めない |
記事No | : 15879 |
投稿日 | : 2014/04/02(Wed) 10:37 |
投稿者 | : YK |
こんにちは。
コードからではなにをしたいのかわからないの りあえずエクセルのデータを ADODB の Recordset に格納します。 Excel2003以前 と Excel2007以降ではProviderが違います。 変数の内容また未定義の変数がありますが、確認して下さい。
Sub TESTab() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim strSQL As String Dim strXls As String Dim i As Long strXls = "D:\Excel\test.xlsx" strSQL = "SELECT * FROM [Sheet1$]" Set cn = New ADODB.Connection With cn ' .Provider = "Microsoft.Jet.OLEDB.4.0" ' .Provider = "Microsoft.ACE.OLEDB.12.0" .Provider = IIf(Len(strXls) - InStrRev(strXls, ".") = 4, _ "Microsoft.ACE.OLEDB.12.0", "Microsoft.Jet.OLEDB.4.0") .Properties("Data Source").Value = strXls .Properties("Extended Properties").Value = "Excel 8.0;HDR=YES;" .Open End With Set rs = New ADODB.Recordset Set rs = cn.Execute(strSQL) With xlBook.Worksheets(1) .Range("A11").CurrentRegion.Clear For i = 0 To rs.Fields.Count - 1 .Cells(11, i + 1).Value = rs.Fields(i).Name Next .Range("A12").CopyFromRecordset rs End With rs.Close cn.Close Set rs = Nothing Set cn = Nothing End Sub
|