掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ListBoxにExcelシートの一行を順に表示するには? (ID:107372)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Excelからのデータ取得ですが・・・ GetObject(...)で、エクセルのファイルをオープンしデータを取得する 方法(そのマシンにExcelが必要)と、ADOで、Microsoft.Jet.OLEDB.4.0 を使ってエクセルのシートを、データベースのテーブルのように見立て、 取得する方法(VBのインストール時にISAMドライバーでExcelのが必要) がありますが、このどちらもダメなのでしょうか? ISAMドライバーは当然ながら配布可能だったと思います(調べていないです) し、ADOとの組み合わせでExcelのファイルからデータを取得するプログラム は書けますので・・・ ご検討下さい。 例 Dim AdoExcelDb As ADODB.Connection Dim AdoExcelRs As ADODB.Recordset Dim i As Integer Set AdoExcelDb = New ADODB.Connection AdoExcelDb.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=xxxxxxxx.xls;" & _ "Extended Properties=""Excel 8.0;HDR=NO;""" Set AdoExcelRs = New ADODB.Recordset AdoExcelRs.Open "Select * from [Sheet1$]", AdoExcelDb, adOpenKeyset, adLockOptimistic, adCmdText If AdoExcelRs.RecordCount > 0 Then While Not AdoExcelRs.EOF ' ' 何等かのレコード処理 ' For i = 0 To AdoExcelRs.Fields.Count - 1 Debug.Print i, AdoExcelRs.Fields(i).Value Next i AdoExcelRs.MoveNext Wend End If AdoExcelRs.Close AdoExcelDb.Close Set AdoExcelRs = Nothing Set AdoExcelDb = Nothing ※ HDR=NO は、エクセルのシートの1行目を項目名として 使用するかしないかを表しています。 よって、NO の場合は、1行目はデータです。 以上。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.