已经把排序在Excel中录好了宏
Sub 宏2()    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
End Sub但不知怎么转换成delphi语句。请各位指教一下,谢谢!!

解决方案 »

  1.   

    用excel的com对象不行吗?
    delphi有excel server组件
      

  2.   

    Selection.Sort(Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
            :=xlPinYin)
    这样试试~
      

  3.   

    试试这样子吧,我也不知道行不行……
    Selection.Sort(Range('A2'),xlAscending,xlGuess,1,False,xlTopToBottom,xlPinYin);
      

  4.   

    Sort 方法
                    对数据透视表报表、单元格区域或活动区(如果指定区域仅包含一个单元格)进行排序。语法expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod)expression   必选。该表达式返回 Range 对象。Key1   Variant 类型,可选。第一个排序字段,可用文字(数据透视表字段或单元格区域名称)或 Range 对象指定(例如“Dept”或 Cells(1, 1) )。Order1   Variant 类型,可选。可为下列 XlSortOrder 常量之一: xlAscending 或 xlDescending。用 xlAscending 表示以升序排列 Key1。用 xlDescending 表示以降序排列 Key1。默认常量为 xlAscending。Key2   Variant 类型,可选。第二个排序字段,可用文字(数据透视表字段或单元格区域名称)或 Range 对象指定。如果省略本参数,则没有第二个排序字段。对数据透视表报表排序时,请不要使用本参数。Type   Variant 类型,可选。指定要参与排序的要素。可为下列 XlSortType 常量之一:xlSortLabels 或 xlSortValues。本参数仅用于对数据透视表报表排序。Order2   Variant 类型,可选。可为下列 XlSortOrder 常量之一: xlAscending 或 xlDescending。用 xlAscending 表示以升序排列 Key2。用 xlDescending 表示以降序排列 Key2。默认常量为 xlAscending。对数据透视表报表排序时,请不要使用本参数。Key3   Variant 类型,可选。第三个排序字段,可用文字(单元格区域名称)或 Range 对象指定。如果忽略本参数,则没有第三个排序字段。对数据透视表报表排序时,请不要使用本参数。Order3   Variant 类型,可选。可为下列 XlSortOrder 常量之一:xlAscending 或 xlDescending。用 xlAscending 表示以升序排列 Key3。用 xlDescending 表示以降序排列 Key3。默认常量为 xlAscending。对数据透视表报表排序时,请不要使用本参数。Header   Variant 类型,可选。指定第一行是否包含标题。可为下列 XlYesNoGuess 常量之一:xlGuess、 xlNo 或 xlYes。如果首行包含标题(不对首行排序),则使用 xlYes。如果首行不包含标题(对整个区域排序),则使用 xlNo。若使用 xlGuess,则将由 Microsoft Excel 判断是否有标题及标题位于何处。默认常量为 xlNo。对数据透视表报表排序时,请不要使用本参数。OrderCustom   Variant 类型,可选。本参数是从 1 开始的整数,指定了在自定义排序次序列表中的索引号。如果忽略 OrderCustom 参数,则使用 1(“常规”)。MatchCase   Variant 类型,可选。若指定为 True,则进行区分大小写的排序;若指定为 False,则排序时不区分大小写。对数据透视表报表排序时,请不要使用本参数。Orientation   Variant 类型,可选。如果使用 xlSortRows,则排序将从上到下(按行)进行。如果使用 xlSortColumns,则排序将从左到右(按列)进行。SortMethod   可选,Variant 类型。排序的类型。可为下列 XlSortMethod 常量之一:xlPinYin 或 xlStroke。对于所选择或安装的不同语言支持(例如:美国英语),其中的某些常量可能不可用。说明每次使用本方法时,将保存对 Header、Order1、Order2、Order3、OrderCustom 和 Orientation 的设置。如果在下次调用本方法时,不指定这些参数的值,则会使用这些保存的值。为避免出现问题,请在每次使用本方法时明确指定这些参数的值。
      

  5.   

    Sort 方法示例本示例对工作表“Sheet1”上的单元格区域“A1:C20”进行排序,用单元格“A1”作为第一关键字,用单元格“B1”作为第二关键字。排序是按行以升序进行的,没有标题。Worksheets("Sheet1").Range("A1:C20").Sort _
        Key1:=Worksheets("Sheet1").Range("A1"), _
        Key2:=Worksheets("Sheet1").Range("B1")本示例对工作表“Sheet1”上包含单元格 A1 的当前区(活动区域)进行排序,按第一列中的数据进行排序,并且自动判断是否存在标题行。Sort 方法将自动判断活动区。Worksheets("Sheet1").Range("A1").Sort _
        Key1:=Worksheets("Sheet1").Columns("A"), _
        Header:=xlGuess