質問: 約100のTXTデータがあります。 それらのファイルには次処理のために不要な列が2つあり、まとめて削除(列の削除)したいと考えています。 サンプルの添付方法がわからないので手書きで記載させて頂きます。 → 1,123.45,234.56,12.36,2 という並びのカンマ区切りファイルです。1ファイルあたり10万行くらいあります。削除したいのは最初の「1」の列と、最後の「2」の列です。 ご指示いただれれば追加で返答させて頂きます。情報が不足していましたら連絡をお願いします。 ファイル数が数百ありまとめて選択して、一括して該当する列を削除できないか考えています。 よろしくお願いします。
回答: 最初に CSVの1列目と5列目を削除するマクロを作成して、1つのCSVファイルを開いてから、正しく実行できるか確認します。 マクロを実行するには、まず、以下のマクロを `RemoveColumn.jsee` などのファイル名で保存します。そして、マクロ] メニューから [選択] を選択して、保存したマクロを選択します。そして、1つのCSVファイルをアクティブにしてから [マクロ] メニューの [実行] を選択してください。 `RemoveColumn.jsee` ``` #async = "off" editor.ExecuteCommandByID(22528); // CSV モードを選択 document.selection.SetActivePoint( eePosCellLogical, 5, 1 ); // 5 列目を選択 editor.ExecuteCommandByID(3962); // 選択した列を削除 document.selection.SetActivePoint( eePosCellLogical, 1, 1 ); // 1 列目を選択 editor.ExecuteCommandByID(3962); // 選択した列を削除 editor.ExecuteCommandByID(4099); // 上書き保存 ``` 動作を確認したら、同様に他のファイルにも適用します。 そのためには [ファイル] メニューから [高度に開く] を選択し、[開いた各文書に対してマクロを実行する] オプションを設定して、その右にある▼ボタンをクリックして表示されるメニューから、さきほど作成したマクロ `RemoveColumn.jsee` を選択します。そして、[開くファイルを選択...] ボタンをクリックして、適用したいファイルをすべて複数選択して開いてください。すると、選択したすべてのファイルに対してこのマクロが実行されます。 ![EmEditor - 高度に開く **更新** v21.0 以降では、次のようにマクロを簡潔に書くことができます。 ``` editor.ExecuteCommandByID(22528); // CSV モードを選択 document.DeleteColumn( 5 ); // 5 列目を削除 document.DeleteColumn( 1 ); // 1 列目を削除 ``` また、[ファイル] メニューの [高度に開く] コマンドでなく、[マクロ] メニューの [一時オプションを設定して実行] コマンドを選択して、[マクロ実行後に各文書を保存して閉じる] オプションを設定してください。