// cols.csv.cms 2009.02.18 by あすかぜ // // 特定の列のみを CSV 形式でエクスポートします。 // 編集・再配布は自由です。 // // 使い方: // Cassava を展開したフォルダ内の「Export」フォルダ内にこのファイルを置き、 // Cassava を再起動してください。 // // [ファイル]-[エクスポート] を実行し、ファイルの種類で COLS.CSV を選択してください。 // 保存ボタンを押すとインプットボックスが表示されるので、 // 「1,10-20」のような形式で列を指定してください。 // 「,」区切りで列番号を入力、「-」で範囲指定となります。 // 「OK」をクリックすると指定した列のみが出力されます。 // 出力する列の入力 cols = InputBox("エクスポートする列を指定してください。"); cols = replace(cols, " ", ""); if(cols == ""){ MessageBox("キャンセルしました。"); return; } // 各行をループ for(y=1; y<=Bottom; y++){ newline = true; rest = cols; // 入力データを処理し終わるまでループ while(rest != ""){ // 「,」で区切る。以降は最初の区画を処理。 p1 = pos(rest, ","); if(p1 > 0){ current = left(rest, p1 - 1); rest = mid(rest, p1 + 1); }else{ current = rest; rest = ""; } // 「-」で区切る。 p2 = pos(current, "-"); if(p2 > 0){ x1 = int(left(current, p2 - 1)); x2 = int(mid(current, p2 + 1)); }else{ x1 = int(current); x2 = x1; } for(x=x1; x<=x2; x++){ // 2 つめのデータ以降は「,」 を出力 if(newline){ newline = false; }else{ write(","); } // "" で囲んで出力。" は "" に変換。 write("\""); write(replace([x,y], "\"", "\"\"")); write("\""); } } writeln(); }