comobj、Excel97、excel2000を使用します。
// Excel からライブラリにアクセスするためにデータを書き込みます
PROdure ExcelToMdb(EXLfile:string;);
変数
シート、XLApp、ワークブック: バリアント;
iRow,MaxRow:整数;
始める
screen.Cursor:=crHourGlass;
試す
//オブジェクトを作成する
XLApp:=createOleObject('Excel.application');
XLApp.displayAlerts:=false;
XLApp.ScreenUpdating:=false;
XLApp.WorkBooks.Add(EXLfile);
ワークブック := XLApp.workbooks[1];
シート:=workbook.worksheets[1];
//sheet:=XLApp.WorkBooks[1].worksheets[1];
//最大行数を取得 maxRow
XLApp.ActiveCell.SpecialCells(xlLastCell).Select;
maxRow:=XLApp.ActiveCell.Row //最大行数;
// Access ライブラリにデータを書き込みます
ADOTable1.open;
for iRow:=2 から MaxRow まで
ifsheet.cells[iRow,1]<>'' then //キーワードは空ではありません
始める
ADOTable1.追加;
ADOTable1.fieldByName('ID').asInteger:=
strToInt(sheet.cells[iRow,1]);
ADOTable1.fieldByName('code').asString:=sheet.cells[iRow,2];//エンコーディング
ADOTable1.fieldByName('name').asString:=sheet.cells[iRow,3];//名前
ADOTable1.post;
終わり;
ついに
VarIsEmpty(XLApp) ではない場合は開始します // オブジェクトを解放します
XLApp.displayAlerts:=false;
XLApp.ScreenUpdating:=true;
XLApp.終了;
終わり;
screen.Cursor:=crDefault;
終わり;
終わり;
//==================== その他の属性メソッド===============//
curRow:=XLApp.ActiveCell.Row;//現在の行番号
XLApp.displayAlerts:=false;//マクロの実行時に警告とメッセージを表示するかどうか
XLApp.ScreenUpdating:=false; // 画面更新機能、速度を向上させます。
// 操作が完了すると、ScreenUpdating は True に戻ります。
XLApp.run('macroName',params...)//マクロを実行
ワークブック.保存;
workBook.SaveAs(AFileName,xlNormal,'','',False,False);