يستخدم comobj،Excel97،excel2000؛
//اكتب البيانات من Excel للوصول إلى المكتبة
PROdedure ExcelToMdb(EXLfile:string;);
فار
ورقة، XLApp، المصنف: البديل؛
iRow,MaxRow:integer;
يبدأ
screen.Cursor:=crHourGlass;
يحاول
// إنشاء كائن
XLApp:=createOleObject('Excel.application');
XLApp.displayAlerts:=false;
XLApp.ScreenUpdating:=false;
XLApp.WorkBooks.Add(EXLfile);
المصنف := XLApp.workbooks[1];
ورقة:=workbook.worksheets[1];
//ورقة:=XLApp.WorkBooks[1].worksheets[1];
// احصل على الحد الأقصى لعدد الصفوف maxRow
XLApp.ActiveCell.SpecialCells(xlLastCell).Select;
maxRow:=XLApp.ActiveCell.Row;
//اكتب البيانات إلى مكتبة Access
ADOTable1.open;
من أجل iRow:=2 إلى MaxRow افعل
إذا Sheet.cells[iRow,1]<>'' ثم // الكلمة الأساسية ليست فارغة
يبدأ
ADOtable1.Append;
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.quit;
نهاية؛
Screen.Cursor:=crDefault;
نهاية؛
نهاية؛
// ===================== بعض أساليب السمات الأخرى ============== //
curRow:=XLApp.ActiveCell.Row;// عدد الصفوف الحالية
XLApp.displayAlerts:=false;// ما إذا كان سيتم عرض التحذيرات والرسائل عند تشغيل وحدات الماكرو
XLApp.ScreenUpdating:=false; // وظيفة تحديث الشاشة، وتحسين السرعة؛
// بعد الانتهاء من العملية، يتم تعيين ScreenUpdating مرة أخرى إلى True
XLApp.run('macroName',params...)// تشغيل الماكرو
Workbook.save;
WorkBook.SaveAs(AFileName,xlNormal,'','',False,False);