ForNext
Only Do What Only You Can Do
23. Excelファイルを読む
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
F#
C
C++
C++Builder
更新日 : 2006.07.15
void __fastcall TForm1::Button23Click(TObject *Sender) { //表示用コントロールをクリア ListBox1->Items->Clear(); ListBox2->Items->Clear(); Variant de = Variant::CreateObject("DAO.DBEngine.36"); //ファイル名を指定する (排他モード = false, 読み込み専用 = true) Variant db = de.Exec(Function("OpenDatabase") << "e:\\test.xls" << false << true << "Excel 8.0"); //シート名を指定する (シート名 + "$") const int dbOpenTable = 1; Variant rs = db.Exec(Function("OpenRecordset") << "Sheet1$" << dbOpenTable); while (!rs.Exec(PropertyGet("EOF"))) { //表示用コントロールに項目内容をセット Variant fd = rs.Exec(PropertyGet("Fields") << 0); if (VarIsNull(fd.Exec(PropertyGet("Value")))) ListBox1->Items->Add(""); else ListBox1->Items->Add(fd.Exec(PropertyGet("Value"))); fd = rs.Exec(PropertyGet("Fields") << 1); if (VarIsNull(fd.Exec(PropertyGet("Value")))) ListBox2->Items->Add(""); else ListBox2->Items->Add(fd.Exec(PropertyGet("Value"))); rs.Exec(Function("MoveNext")); } //テーブルを閉じる rs.Exec(Procedure("Close")); //データベースを閉じる db.Exec(Procedure("Close")); }
VC++
C#
Java
Objective-C
D
VB
更新日 : 2006.07.15
Private Sub Command23_Click() '表示用コントロールをクリア List1.Clear List2.Clear 'ファイル名を指定する (排他モード = False, 読み込み専用 = True) Dim db As Database Set db = DBEngine.OpenDatabase("e:\test.xls", False, True, "Excel 8.0") 'シート名を指定する (シート名 + "$") Dim rs As Recordset Set rs = db.OpenRecordset("Sheet1$", dbOpenTable) Do Until rs.EOF '表示用コントロールに項目内容をセット List1.AddItem rs(0) & "" List2.AddItem rs(1) & "" rs.MoveNext Loop 'テーブルを閉じる rs.Close 'データベースを閉じる db.Close End Sub
VB.NET
Delphi
更新日 : 2006.07.15
procedure TForm1.Button23Click(Sender: TObject); var de:Variant;//DBEngine db:Variant;//Database rs:Variant;//Recordset const dbOpenTable:Integer = 1; begin //表示用コントロールをクリア ListBox1.Items.Clear; ListBox2.Items.Clear; //ファイル名を指定する (排他モード = false, 読み込み専用 = true) de := CreateOleObject('DAO.DBEngine.36'); db := de.OpenDatabase('e:\test.xls', false, true, 'Excel 8.0'); //シート名を指定する (シート名 + "$") rs := db.OpenRecordset('Sheet1$', dbOpenTable); while not rs.EOF do begin //表示用コントロールに項目内容をセット if VarIsNull(rs.Fields[0].Value) then ListBox1.Items.Add('') else ListBox1.Items.Add(rs.Fields[0].Value); if VarIsNull(rs.Fields[1].Value) then ListBox2.Items.Add('') else ListBox2.Items.Add(rs.Fields[1].Value); rs.MoveNext; end; //テーブルを閉じる rs.Close; //データベースを閉じる db.Close; end;