明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1584|回复: 6

[源码] Vlisp对EXCEL排序问题 求助。。。

[复制链接]
发表于 2011-8-5 16:19 | 显示全部楼层 |阅读模式
本帖最后由 kob5891 于 2011-8-5 23:13 编辑

'Sort 函数中出错实参太少  这是怎么回事

(defun DSX-Excel-RangeSort (active-sheet);Sort;active-sheet=>msxl-Get-ActiveSheet
  (vlax-invoke-method
    (vlax-get-property
      (vlax-get-property

(vlax-get-property active-sheet 'UsedRange)

'Cells
      )
      'Columns
    )
    'Sort
    (DSX-Excel-Get-Cell range 3 1) "xlAscending"
  )
)


Excel中是数据是二维表类似于
Y713-D1A    ym132
Y713-D2A    ym133
Y713-D1      ym134
Y713-D2      ym135

只想进行简单的降序排列
下边是sort方法 很多都是可选的 不知道为什么出错,还请大家帮忙 谢谢

对数据透视表、单元格区域或活动区域(如果指定区域仅包含一个单元格)进行排序。
expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

expression   必需。该表达式返回“应用于”列表中的对象之一。
Key1   Variant 类型,可选。第一个排序字段,可为文本(数据透视表字段或区域名)或者为 Range 对象 (例如,“Dept”或 Cells(1, 1))。
Order1   XlSortOrder 类型,可选。在 Key1 中指定的字段或区域的排序顺序。
XlSortOrder 可为以下 XlSortOrder 常量之一。
xlDescendingKey1 按降序排序。
xlAscending 默认值。对 Key1 按升序排序。

Key2   Variant 类型,可选。第二个排序字段,可为文本(数据透视表字段或区域名)或者为 Range 对象。如果省略本参数,则没有第二个排序字段。对数据透视表进行排序时,不能使用本参数。
Type   Variant 类型,可选。指定要排序的元素。仅在对数据透视表排序时才使用本参数。
XlSortType 可为以下 XlSortType 常量之一。
xlSortLabels 按标签对数据透视表排序。
xlSortValues 按值对数据透视表排序。

Order2   XlSortOrder 类型,可选。在 Key2 中指定的字段或区域的排序顺序。对数据透视表进行排序时,不能使用本参数。
XlSortOrder 可为以下 XlSortOrder 常量之一。
xlDescendingKey2 按降序排序。
xlAscending 默认值。对 Key2 按升序排序。

Key3   Variant 类型,可选。第三个排序字段,为文本(区域名)或者为 Range 对象。如果省略本参数,则没有第三个排序字段。对数据透视表进行排序时,不能使用本参数。
Order3   XlSortOrder 类型,可选。在 Key3 中指定的字段或区域的排序顺序。对数据透视表进行排序时,不能使用本参数。
XlSortOrder 可为以下 XlSortOrder 常量之一。
xlDescendingKey3 按降序排序。
xlAscending 默认值。对 Key3 按升序排序。

Header   XlYesNoGuess 类型,可选。指定第一行是否包含标题。对数据透视表进行排序时,不能使用本参数。
XlYesNoGuess 可为以下 XlYesNoGuess 常量之一。
xlGuess 由 Microsoft Excel 确定是否有标题,如果有,确定标题位于何处。
xlContinuous 默认值。(应对整个区域进行排序)。
xlYes (不应对整个区域进行排序)。

OrderCustom   Variant 类型,可选。本参数是从 1 开始的整数,指定了在自定义排序顺序列表中的索引号。如果省略 OrderCustom 参数,则使用常规排序。
MatchCase   Variant 类型,可选。如果为 True,则进行区分大小写的排序;如果为 False,则排序时不区分大小写。对数据透视表进行排序时,不能使用本参数。
Orientation   XlSortOrientation 类型,可选。排序方向。
XlSortOrientation 可为以下 XlSortOrientation 常量之一。
xlSortRows 默认值。按行排序。
xlSortColumns 按列排序。

SortMethod   XlSortMethod 类型,可选。排序类型。对于所选择或安装的不同语言支持(例如:美国英语),以上某些常量可能不可用。
XlSortMethod 可为以下 XlSortMethod 常量之一。
xlStroke 按每个字符的笔划数量排序。
xlPinYin 默认值。按字符的汉语拼音顺序排序。

DataOption1   XlSortDataOption 类型,可选。指定如何对 key 1 中的文本进行排序。对数据透视表进行排序时,不能使用本参数。
XlSortDataOption 可为以下 XlSortDataOption 常量之一。
xlSortTextAsNumbers 将文本作为数字型数据排序。
xlSortNormal 默认值。分别对数字和文本数据进行排序。

DataOption2   XlSortDataOption 类型,可选。指定如何对 key 2 中的文本进行排序。对数据透视表进行排序时,不能使用本参数。
XlSortDataOption 可为以下 XlSortDataOption 常量之一。
xlSortTextAsNumbers 将文本作为数字型数据排序。
xlSortNormal 默认值。分别对数字和文本数据进行排序。

DataOption3   XlSortDataOption 类型,可选。指定如何对 key 3 中的文本进行排序。对数据透视表进行排序时,不能使用本参数。


 楼主| 发表于 2011-10-25 14:00 | 显示全部楼层
jxphklibin 发表于 2011-10-11 11:20
好像这个不知道怎么排序,要么把数据读取出来后,用Vlisp来排序,然后在写回去!

不会吧 您说的可算是最后的选择了
其实就像设置在lisp中调用excel方法一样(如着色 字体等) 但我不知道该怎样写
发表于 2011-10-11 11:20 | 显示全部楼层
好像这个不知道怎么排序,要么把数据读取出来后,用Vlisp来排序,然后在写回去!
 楼主| 发表于 2011-8-5 21:02 | 显示全部楼层
上网找了下没有发现类似的帖子 help me
 楼主| 发表于 2011-8-5 21:00 | 显示全部楼层
回复 crazylsp 的帖子

是vlisp与excel的数据传递    sort只是excel其中一个方法   实参key变体类型
发表于 2011-8-5 17:44 | 显示全部楼层
是CAD到Excel的操作吗?sort是个区域吗?key是什么?
 楼主| 发表于 2011-8-5 16:52 | 显示全部楼层
木有人啊木有人
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-16 07:08 , Processed in 0.131470 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表