توثيق HotXLS

أسلوب ApplyAutoFilter

يضبط نطاق AutoFilter الكلاسيكي لـ XLS ويطبق معيار حقل معين في استدعاء واحد

البنية

procedure ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant); overload;
procedure ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;
procedure ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant); overload;
procedure ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;

ملاحظات

يقبل الحمل الزائد النصي نطاقًا بنمط A1 مثل A1:C5. يستخدم الحمل الزائد الرقمي فهارس صفوف وأعمدة تبدأ من 1. وقيمة Field أيضاً تبدأ من 1 ضمن نطاق التصفية التلقائية
يستبدل ApplyAutoFilter أي نطاق AutoFilter موجود على مستوى ورقة العمل بالنطاق المعطى، ثم يكتب سجلات معايير حقول BIFF8 نفسها التي يستخدمها IXLSRange.Autofilter
معيار النص الذي يبدأ بمعامل مقارنة (>= أو <= أو <> أو > أو < أو =) يليه رقم، مثل '>=100' أو '=2.5'، يُخزَّن كشرط رقمي، فيطابق الخلايا الرقمية كما يحدث في Excel. اكتب الرقم بالنقطة كفاصل عشري. وأي نص آخر، بما في ذلك قيمة مجردة مثل '100'، يُخزَّن كشرط نصي
استخدم TXLSWorksheet.AutoFilterColumns.Find(Field) لفحص معايير كل حقل المخزنة بعد تطبيق أو قراءة AutoFilter الكلاسيكي في XLS

مثال

Workbook := TXLSWorkbook.Create;
try
  Sheet := Workbook.Sheets[1];
  Sheet.ApplyAutoFilter('A1:C5', 2, '>=100');
  Workbook.SaveAs('filtered.xls', xlExcel97);
finally
  Workbook.Free;
end;

انظر أيضاً