注意:我要的是
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
这种方法创建EXCEL应用程序。 将sort方法的几个参数定义为如下:
Key1, Order1, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod : Variant ;
//以下是sort参数赋值:
Key1 := exlWbk.WorkSheets[1].Range['C'+IntTostr(HbRowNum)]; //HbRowNum是动态行参数
Order1 := xlAscending;
Key2 := exlWbk.WorkSheets[1].Range['D'+IntTostr(HbRowNum)]; //动态行
Order2 := xlAscending;
Key3 := EmptyParam;
Order3 := EmptyParam;
Header := xlNo;
OrderCustom := 1;
MatchCase := False;
Orientation := xlSortRows;
SortMethod := xlPinYin; 调用时,用如下语句对二个字段同时进行升序排序。
exlWbk.WorkSheets[1].Range['c4:B4'].Select;
exlApp.Selection.Sort(Key1, Order1, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod);
进行sort语句时, 提示range类的sort无效. 该如何使用sort?
一天搞这么一句没弄出来,请大家帮忙!
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
这种方法创建EXCEL应用程序。 将sort方法的几个参数定义为如下:
Key1, Order1, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod : Variant ;
//以下是sort参数赋值:
Key1 := exlWbk.WorkSheets[1].Range['C'+IntTostr(HbRowNum)]; //HbRowNum是动态行参数
Order1 := xlAscending;
Key2 := exlWbk.WorkSheets[1].Range['D'+IntTostr(HbRowNum)]; //动态行
Order2 := xlAscending;
Key3 := EmptyParam;
Order3 := EmptyParam;
Header := xlNo;
OrderCustom := 1;
MatchCase := False;
Orientation := xlSortRows;
SortMethod := xlPinYin; 调用时,用如下语句对二个字段同时进行升序排序。
exlWbk.WorkSheets[1].Range['c4:B4'].Select;
exlApp.Selection.Sort(Key1, Order1, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod);
进行sort语句时, 提示range类的sort无效. 该如何使用sort?
一天搞这么一句没弄出来,请大家帮忙!
exlApp.Selection.Sort(Key1, Order1, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod); 或是
exlWbk.cells.Sort(Key1, Order1, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod);
都不行。Sort一函数在Delphi该如何调用啊?
结贴!!!
代码如下:
exlApp.Selection.Sort (
Key1 := exlWbk.WorkSheets[1].Range['C'+IntTostr(HbRowNum)],
Order1 := xlAscending,
Key2 := exlWbk.WorkSheets[1].Range['D'+IntTostr(HbRowNum)],
Order2 := xlAscending,
Key3 := EmptyParam,
Order3 := EmptyParam,
Header := xlNo,
OrderCustom := 1,
MatchCase := False,
Orientation := xlSortRows,
SortMethod := xlPinYin);
希望后面的人能顺利。
代码如下:
exlApp.Selection.Sort (
Key1 := exlWbk.WorkSheets[1].Range['C'+IntTostr(HbRowNum)],
Order1 := xlAscending,
Key2 := exlWbk.WorkSheets[1].Range['D'+IntTostr(HbRowNum)],
Order2 := xlAscending)即可。
还可指定第三个字段,在sort里面加第三个参数值就行。
不能超过三个字段的排序,否则,第三个后面的所有被排序的字段将被忽略。
Header ,OrderCustom ,MatchCase ...等参数视必要的情况下加。
Key1 := ExcelApp.cells[sortbegin,3],
Order1 := xlDescending,
Key2 := ExcelApp.cells[sortbegin,1],
Order2 := xlAscending, Header := xlGuess,
OrderCustom := 1,
MatchCase := False,
Orientation := xlTopToBottom,
SortMethod := xlStroke);