2.4.263 Sort

The Sort record specifies the information used to sort values contained in a range of cells.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

A

B

C

D

E

iOrder

F

reserved1

cchKey1

cchKey2

cchKey3

stKey1 (variable)

...

stKey2 (variable)

...

stKey3 (variable)

...

reserved2

A - fCol (1 bit): A bit that specifies whether to sort by columns or rows. MUST be one of the values from the following table:

Value

Meaning

0

Sort rows from top to bottom.

1

Sort columns from logical left to right.

B - fKey1Dsc (1 bit): A bit that specifies whether stKey1 sorts in descending order. MUST be one of the values from the following table:

Value

Meaning

0

Sort in ascending order.

1

Sort in descending order.

C - fKey2Dsc (1 bit): A bit that specifies whether stKey2 sorts in descending order. MUST be one of the values from the following table:

Value

Meaning

0

Sort in ascending order.

1

Sort in descending order.

D - fKey3Dsc (1 bit): A bit that specifies whether stKey3 sorts in descending order. MUST be one of the values from the following table:

Value

Meaning

0

Sort in ascending order.

1

Sort in descending order.

E - fCaseSensitive (1 bit): A bit that specifies whether the sort is case-sensitive. MUST be one of the values from the following table:

Value

Meaning

0

The sort is not case-sensitive.

1

The sort is case-sensitive.

iOrder (5 bits): A signed integer that specifies the zero-based index of the custom list that specifies the sort order.  The set of custom lists is based on the current user's environment.

F - fAltMethod (1 bit): A bit that specifies whether to use phonetic information when sorting. MUST be one of the values from the following table:

Value

Meaning

0

Do not use phonetic information when sorting.

1

Use phonetic information when sorting.

reserved1 (5 bits): MUST be zero, and MUST be ignored.

cchKey1 (1 byte): An unsigned integer that specifies the length of stKey1.

cchKey2 (1 byte): An unsigned integer that specifies the length of stKey2.

cchKey3 (1 byte): An unsigned integer that specifies the length of stKey3.

stKey1 (variable): An XLUnicodeStringNoCch structure that specifies the string for the first sort key. MUST exist if and only if cchKey1 is greater than 0.

stKey2 (variable): An XLUnicodeStringNoCch structure that specifies the string for the second sort key. MUST exist if and only if cchKey2 is greater than 0.

stKey3 (variable): An XLUnicodeStringNoCch structure that specifies the string for the third sort key. MUST exist if and only if cchKey3 is greater than 0.

reserved2 (1 byte): MUST be zero, and MUST be ignored.