SSpread.ColUserSortIndicatorプロパティ

 

列ヘッダによる並べ替えについて、列ごとの設定を行います。

 

このプロパティはインデックスプロパティです。インデックスには列番号を指定します。

 

以下の値を指定します。初期値は$ColUserSortIndicatorNoneです。

定数

説明

$ColUserSortIndicatorNone

0

なし

$ColUserSortIndicatorAscending

1

並べ替え△(昇順)

$ColUserSortIndicatorDescending

2

並べ替え▽(降順)

$ColUserSortIndicatorDisabled

3

並べ替え無効

このプロパティはUserColActionプロパティと合わせて使用します。UserColActionプロパティに$UserColActionSort、$UserColActionSortNoIndicatorが設定されていると、ユーザは列ヘッダをクリックすることで並べ替えができます。並べ替えは、特定の1列をキーとしてスプレッドシート全体に対して行われます。

並べ替えの状態を取得する

UserColActionプロパティで並べ替えが許可されているときに、列の並べ替えの状態を取得できます。

if (ColUserSortIndicator(2) == $ColUserSortIndicatorAscending) {
    MessageBox("2列目で昇順にソートされています");
} else if (ColUserSortIndicator(2) == $ColUserSortIndicatorDescending) {
    MessageBox("2列目で降順にソートされています");
} else if (ColUserSortIndicator(2) == $ColUserSortIndicatorNone) {
    MessageBox("2列目ではソートされていません");
}

UserColActionプロパティに$UserColActionSortNoIndicatorが設定されているとソートインジケータ(列ヘッダの△▽印)は表示されませんが、ColUserSortIndicatorプロパティでは並べ替えの状態を取得できます。

特定の列の並べ替えを禁止する

UserColActionプロパティで並べ替えが許可されているときに、ColUserSortIndicatorプロパティに$ColUserSortIndicatorDisabledを指定することで特定の列の並べ替えを禁止できます。

UserColAction = $UserColActionSort;
/* 2列目、3列目はソートさせない */
ColUserSortIndicator(2) = $ColUserSortIndicatorDisabled;
ColUserSortIndicator(3) = $ColUserSortIndicatorDisabled;
プログラムから並べ替えを行う

ユーザによる操作ではなく、CRSプログラムから並べ替えを行いたい場合は、ColUserSortIndicatorプロパティを設定したあとにUserColActionプロパティを設定します。

/* 2列目で昇順ソート */
ColUserSortIndicator(2) = $ColUserSortIndicatorAscending;
UserColAction = $UserColActionSort;

並べ替えは特定の1列をキーとして行われますので、複数の列に対してColUserSortIndicatorプロパティを設定しないでください。

ソートインジケータの表示を切り替える

UserColActionプロパティに$UserColActionSortが指定されているときに、ColUserSortIndicatorプロパティで列ヘッダに表示されるソートインジケータ(列ヘッダの△▽印)を変更できます。並べ替えは行われません。

UserColAction = $UserColActionSort;
ColUserSortIndicator(2) = $ColUserSortIndicatorAscending;
ColUserSortIndicator(3) = $ColUserSortIndicatorDescending;

関連項目

UserColActionプロパティ



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る