NamedRange.Sort 方法
对 NamedRange 控件中的数据进行排序。
命名空间: Microsoft.Office.Tools.Excel
程序集: Microsoft.Office.Tools.Excel(在 Microsoft.Office.Tools.Excel.dll 中)
语法
声明
Function Sort ( _
Key1 As Object, _
Order1 As XlSortOrder, _
Key2 As Object, _
Type As Object, _
Order2 As XlSortOrder, _
Key3 As Object, _
Order3 As XlSortOrder, _
Header As XlYesNoGuess, _
OrderCustom As Object, _
MatchCase As Object, _
Orientation As XlSortOrientation, _
SortMethod As XlSortMethod, _
DataOption1 As XlSortDataOption, _
DataOption2 As XlSortDataOption, _
DataOption3 As XlSortDataOption _
) As Object
Object Sort(
Object Key1,
XlSortOrder Order1,
Object Key2,
Object Type,
XlSortOrder Order2,
Object Key3,
XlSortOrder Order3,
XlYesNoGuess Header,
Object OrderCustom,
Object MatchCase,
XlSortOrientation Orientation,
XlSortMethod SortMethod,
XlSortDataOption DataOption1,
XlSortDataOption DataOption2,
XlSortDataOption DataOption3
)
参数
- Key1
类型:System.Object
第一个排序字段,要么是文本(范围名称),要么是一个 Microsoft.Office.Interop.Excel.Range 对象(例如,“Dept”或 Cells(1, 1))。
- Order1
类型:Microsoft.Office.Interop.Excel.XlSortOrder
在 Key1 中指定的字段或范围的排序顺序。
可以是下列 XlSortOrder 值之一:
xlDescending .按降序对 Key1 排序。
xlAscending .按升序对 Key1 排序。
- Key2
类型:System.Object
第二个排序字段,要么是文本(范围名称),要么是一个 Microsoft.Office.Interop.Excel.Range 对象。如果您省略此参数,则没有第二个排序字段。
- Type
类型:System.Object
指定要进行排序的元素。只有当对数据透视表进行排序时,才使用此参数。
可以是下列 XlSortType 值之一:
xlSortLabels .按标签对数据透视表进行排序。
xlSortValues .按值对数据透视表进行排序。
- Order2
类型:Microsoft.Office.Interop.Excel.XlSortOrder
在 Key2 中指定的范围的排序顺序。不可用于数据透视表的排序。
可以是下列 XlSortOrder 值之一:
xlDescending .按降序对 Key2 排序。
xlAscending .按升序对 Key2 排序。
- Key3
类型:System.Object
第三个排序字段,要么是文本(范围名称),要么是一个 Microsoft.Office.Interop.Excel.Range 对象。如果您省略此参数,则没有第三个排序字段。不可用于数据透视表的排序。
- Order3
类型:Microsoft.Office.Interop.Excel.XlSortOrder
在 Key3 中指定的字段或范围的排序顺序。不可用于数据透视表的排序。
可以是下列 XlSortOrder 值之一:
xlDescending .按降序对 Key3 排序。
xlAscending .按升序对 Key3 排序。
- Header
类型:Microsoft.Office.Interop.Excel.XlYesNoGuess
指定第一行中是否包含标题。不可用于数据透视表的排序。
可以是下列 XlYesNoGuess 值之一:
xlGuess .让 Microsoft Office Excel 确定是否有标题,如果有的话,确定它的位置。
xlNo .(应当对整个范围进行排序。)
xlYes .(不应当对整个范围进行排序。)
- OrderCustom
类型:System.Object
此参数是一个在自定义排序顺序列表中的从 1 开始的整数偏移量。如果省略 OrderCustom,则使用正常排序。
- MatchCase
类型:System.Object
如果执行区分大小写的排序,则为 true;如果执行不区分大小写的排序,则为 false。不可用于数据透视表的排序。
- Orientation
类型:Microsoft.Office.Interop.Excel.XlSortOrientation
排序方向。
可以是下列 XlSortOrientation 值之一:
xlSortRows .按行排序。
xlSortColumns .按列排序。
- SortMethod
类型:Microsoft.Office.Interop.Excel.XlSortMethod
排序的类型。其中一些常数可能对您不可用,这取决于您所选择或安装的支持语言 (例如 U.S. 英语)。
可以是下列 XlSortMethod 值之一:
xlStroke .按每个字符中的笔画数进行排序。
xlPinYin .字符的中文拼音排序顺序。
- DataOption1
类型:Microsoft.Office.Interop.Excel.XlSortDataOption
指定如何对 key1 中的文本排序。不可用于数据透视表的排序。
可以是下列 XlSortDataOption 值之一:
xlSortTextAsNumbers .在进行排序时将文本数据视为数值数据。
xlSortNormal .分别对数值数据和文本数据进行排序。
- DataOption2
类型:Microsoft.Office.Interop.Excel.XlSortDataOption
指定如何对 key2 中的文本排序。不可用于数据透视表的排序。
可以是下列 XlSortDataOption 值之一:
xlSortTextAsNumbers .在进行排序时将文本数据视为数值数据。
xlSortNormal .分别对数值数据和文本数据进行排序。
- DataOption3
类型:Microsoft.Office.Interop.Excel.XlSortDataOption
指定如何对 key3 中的文本排序。不可用于数据透视表的排序。
可以是下列 XlSortDataOption 值之一:
xlSortTextAsNumbers .在进行排序时将文本数据视为数值数据。
xlSortNormal .分别对数值数据和文本数据进行排序。
返回值
备注
每当使用此方法时,都会保存特定工作表的 Header、Order1、Order2、Order3、OrderCustom 和 Orientation 的设置。如果在下次调用此方法时不指定这些参数的值,将使用保存的值。如果您选择不使用保存值,请在每次使用此方法时显式设置这些参数。
对于不能转换为数值数据的文本字符串,按通常的方式进行排序。
如果未用此方法定义参数,Microsoft Office Excel 将按升序对所选内容进行排序。
可选参数
有关可选参数的信息,请参见Office 解决方案中的可选参数。
示例
下面的代码示例在单元格 A1 至 A5 中放置一组整数,然后使用 Sort 方法按升序对数据进行排序。
此示例针对的是文档级自定义项。
Private Sub SortNamedRange()
' Set some data in a range of cells.
Me.Range("A1").Value2 = 30
Me.Range("A2").Value2 = 10
Me.Range("A3").Value2 = 20
Me.Range("A4").Value2 = 50
Me.Range("A5").Value2 = 40
' Create a NamedRange that refers to the range.
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
"namedRange1")
' Sort the NamedRange.
namedRange1.Sort(Me.Range("A1", "A5"), _
Excel.XlSortOrder.xlAscending, , , _
Excel.XlSortOrder.xlAscending, , _
Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlNo, , , _
Excel.XlSortOrientation.xlSortColumns, _
Excel.XlSortMethod.xlStroke, _
Excel.XlSortDataOption.xlSortNormal, _
Excel.XlSortDataOption.xlSortNormal, _
Excel.XlSortDataOption.xlSortNormal)
End Sub
private void SortNamedRange()
{
// Set some data in a range of cells.
this.Range["A1"].Value2 = 30;
this.Range["A2"].Value2 = 10;
this.Range["A3"].Value2 = 20;
this.Range["A4"].Value2 = 50;
this.Range["A5"].Value2 = 40;
// Create a NamedRange that refers to the range.
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A5"],
"namedRange1");
// Sort the NamedRange.
namedRange1.Sort(this.Range["A1", "A5"],
Excel.XlSortOrder.xlAscending,
missing,
missing,
Excel.XlSortOrder.xlAscending,
missing,
Excel.XlSortOrder.xlAscending,
Excel.XlYesNoGuess.xlNo,
missing,
missing,
Excel.XlSortOrientation.xlSortColumns,
Excel.XlSortMethod.xlStroke,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal);
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。