変換モジュール sortのカラム指定とその他No.03977
h-tom さん 09/09/27 23:22
 

h-tom です。

1)カラム指定
 標準で追加された、sortの「カラム指定」ですが、CSVモードの場合、カラム指定
 が、ダイアログを開く度に「1」になってしまいますが(以前の設定を保持しない)、
 これは、意図的なのでしょうか?

 1)テキストファイルで、カラム指定を「3」で実行。
 2)再度、ソートのダイアログを開いても、カラム指定は「3」
 3)CSVファイルを、非CSVモードで開き、ソートのダイアログを開いても、
  カラム指定は「3」。
 4)ファイルタイプ別設定で、「CVSモード」に変更し、「保存しないで更新」
 5ソートのダイアログを開くと、カラム指定は「1」。
 6)カラム指定を「3」に変更し、ソート実行
 7)再度、ソートのダイアログを開いても、カラム指定は「1」

2)その他
 sortをマクロから使う場合の、引数の確認です。
 マクロの記録を使ってある程度確認したのですが、いくつか不明点があるので、
 教えていただけると、ありがたいです。

filter "" , "Sort" , "100100110002001\"1";
//                    abcdefghijklmnop q
                              ======
 不明点(i〜m)
 ijkl:カラム指定値(16進数4桁)ですか?
 n   :未使用?
 m   :未使用?

filter "" , "Sort" , "100100110002001\"1";
//                    abcdefghijklmnop q
//                    ||||||||      || + q:TSV/CSVの有効/無効
//                    ||||||||      |+-- p:クォート文字['"]("の場合はエス
ケープが必要)
//                    ||||||||      +--- o:クォート判定の有/無
//                    ||||||||           n:?
//                    ||||||||           m:?
//                    ||||||||           ijkl:カラム指定値(16進数4桁?)
//                    |||||||+---------- h: 0:TSV/1:CSV
//                    ||||||+----------- g:カラム指定 有効/無効
//                    |||||+------------ f:1行目は無視 有効/無効
//                    ||||+------------- e:unicode文字コードでソート
//                    |||+-------------- d:数値の部分は数値の大小関係でソート
//                    ||+--------------- c:大文字/小文字を区別
//                    |+---------------- b:連続した空白/タブ 
//                    +----------------- a:ソート方向 0:昇順 1:降順

[ ]
RE:03977 変換モジュール sortのカラム指No.03980
秀丸担当 さん 09/09/28 11:36
 

>1)カラム指定
> 標準で追加された、sortの「カラム指定」ですが、CSVモードの場合、カラム指定
> が、ダイアログを開く度に「1」になってしまいますが(以前の設定を保持しない)、
> これは、意図的なのでしょうか?

手順通りにしてみて確認することができました。
覚えたほうがいいと思うので、覚えるように修正させていただきます。

TSV/CSVモードのとき、「ソート...」でダイアログを出すときは、通常の変換モ
ジュールとは違って特別な判断をしている部分があります。
「TSV/CSV」と「TSV(タブ区切り)」と「CSV(カンマ区切り)」が自動的に設定され
るようになっていて、これは意図的にしています。


>2)その他
> sortをマクロから使う場合の、引数の確認です。
> マクロの記録を使ってある程度確認したのですが、いくつか不明点があるので、
> 教えていただけると、ありがたいです。
>
>filter "" , "Sort" , "100100110002001\"1";
>//                    abcdefghijklmnop q
>                              ======
> 不明点(i〜m)
> ijkl:カラム指定値(16進数4桁)ですか?
> n   :未使用?
> m   :未使用?

ijklは、おっしゃる通りカラム指定の値です。
mはダイアログを出すかどうかを意味しています。
nは設定を記憶させないようにするフラグです。

[ ]