[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[246] csvにダブルクォーテーションをセットするマクロ

児玉 [2012/09/19 19:58:12]

お世話になります。
「Cassava Editor」を使わせて頂いております。

下記の処理をマクロで作成出来るのでしょうか。


1: 入力ファイル名:a.csv  (カンマ区切り)

2: a.csvの全てのセルを""(ダブルクォーテーション)で囲む。

3: 出力ファイル名:b.csv (ダブルクォーテーション付きで出力)する。


出来るとすれば、どのようにマクロを組むのでしょうか。
お手数をお掛けしますが、ご回答宜しくお願い致します。

Re: [246] csvにダブルクォーテーションをセットするマクロ

あすかぜ [2012/09/19 22:20:10]

マクロを使う方法ではないですが、

[オプション]-[オプション] メニューでオプションダイアログを開き、
[データ形式]-[CSV] を選び、
[クオート]-[全てのセルを""で囲む] にチェックを入れる

ことで、次回以降の保存時に全てのセルがダブルクオーテーション付きで出力されます。
読み込み時には "" がないファイルも開けますので、この設定で既存のファイルを開いて名前を付けて保存すれば、ダブルクオーテーション付きのファイルを作ることができます。

よろしくお願いします。

Re: [246] csvにダブルクォーテーションをセットするマクロ

児玉 [2012/09/20 10:10:55]

ご回答ありがとうございます。
現在、あすかせさんのご指摘の手順で使用しております。

ただ、操作される方が高齢でPCに不慣れな為、マクロでどこまで自動化できるかを質問させて頂きました。
宜しくお願いします。

Re: [246] csvにダブルクォーテーションをセットするマクロ

あすかぜ [2012/09/20 21:54:01]

複数のファイルを開いて保存するのを自動化したいという意味でしたら、
Ver.1.8 で追加された Open() と SaveAs() を使って次のようなマクロで実行できます。

 Open("C:\\Users\\asukaze\\Documents\\a.csv");
 MessageBox("a2.csv を出力します。");
 SaveAs("C:\\Users\\asukaze\\Documents\\a2.csv");

 Open("C:\\Users\\asukaze\\Documents\\b.csv");
 MessageBox("b2.csv を出力します。");
 SaveAs("C:\\Users\\asukaze\\Documents\\b2.csv");

 Open("C:\\Users\\asukaze\\Documents\\c.csv");
 MessageBox("c2.csv を出力します。");
 SaveAs("C:\\Users\\asukaze\\Documents\\c2.csv");

本来は MessageBox() は不要なのですが、バグのためタイミングを取る必要があるので入れてあります。
http://www.asukaze.net/soft/cassava/bbs/index.cgi?t=247



もしくは、マクロフォルダに「!open.cms」というファイルを作り、

 SaveAs(GetFilePath() + "updated-" + GetFileName());

という内容にすれば、任意のファイルを開いた時点で自動的に「updated-(元のファイル名)」という名前で保存されます。



もしオプション設定を自動化したいという意味でしたら、
設定情報は Cassava.ini に保存されていますので、これをコピーすることでオプション設定済みの状態にできます。
Cassava.ini は通常 C:\Users\(ユーザー名)\AppData\Roaming\Asukaze\Cassava にありますが、
Cassava.exe と同じフォルダに置いても認識します。



よろしくお願いします。



スレッド一覧に戻る返信