次版 Cassava Editor の開発に関するページです。 β版はこのページで公開していきます。
ダウンロード
- ダウンロード: Cassava20b4.zip (1.69 MB) (これは正式リリース版ではありません)
更新履歴
Ver.2.0 β4(2018/06/27)
- ダウンロード: Cassava20b4.zip (1.69 MB)
- 「長いセルを折り返して表示」が有効の場合に、 サロゲートペアの途中で折り返しが発生する場合がある問題を修正。
- データにサロゲートペアが含まれる場合に列幅調整が正しく動作しない問題を修正。
- 印刷ダイアログ・はがき印刷ダイアログの「プロパティ」ボタンを削除。 「印刷」ボタンをクリックするとプリンターの設定ダイアログが表示され、 さらに「OK」ボタンをクリックすると印刷が始まるようにした。
- はがき印刷ダイアログ内のプレビュー表示を大きくした。 別ウィンドウでのプレビュー表示機能は削除。
Ver.2.0 β3(2018/06/20)
- ダウンロード: Cassava20b3.zip (1.70 MB)
- はがき印刷で Shift_JIS 範囲外の文字が印刷できない問題を修正。
- マクロの文字列リテラルに「\uHHHH」形式を追加。
- BOM つき UTF-8 のマクロファイルを UTF-8 として実行できるようにした。
- セル内計算式内の文字列リテラルで Shift_JIS 範囲外の文字を記述できるようにした。
Ver.2.0 β2(2018/06/11)
- ダウンロード: Cassava20b2.zip (1.70 MB)
- アイコンを微妙に変更。
- 「共有マクロフォルダ」を「アプリケーションマクロフォルダ」に変更。
- オプションダイアログの「データ形式」ページで、 区切り文字を空欄にしてページ切り替えをするとランダムな文字が入力されるバグを修正。
- ヘルプを更新。
Ver.2.0 β1(2018/06/02)
- ダウンロード: Cassava20b1.zip (1.70 MB)
- オプションダイアログの「データ形式」ページを更新。
- 「名前変更」ボタンを削除。常に入力ボックスを表示するようにした。
- 「新規作成」ボタンを削除。左側ツリーに「(新規作成)」を表示するようにした。
- ドロップダウンでアクティブなデータ形式を切り替えるのではなく、 左側ツリー右クリックメニューの「編集中のファイルに適用」で アクティブなデータ形式を切り替えるようにした。
- 左側ツリーの右クリックメニューにも「削除」を追加。
- 「セーブ時に各行の「,」の数を統一する」を 「セーブ時に各行の列数を統一する」に変更。
- 「行数・列数の減少を防止する」を 「下端・右端の内容のない行・列も保存する」に変更。
- 「全てのセルを""で囲まない」「全てのセルを""で囲む」を 「すべてのセルを""で囲まない」「すべてのセルを""で囲む」に変更。
- オプションダイアログの「色」ページを更新。
- ドロップダウンに「カスタム...」を追加。
- 色名を日本語で表示するようにした。
- 検索・置換ダイアログを更新。
- メインメニュー・右クリックメニューを更新。
-
[372]
「!format.cms」というマクロを用意することで画面に表示される内容を自由に変更できるようにした。
- セルが再描画される時に x と y が設定された状態でこのマクロが呼ばれる。
- 差し替えたい内容を return 文で返すと、その内容が画面に表示される。
- 「!format.cms」が起動時に存在しなかった場合、return 文が実行されなかった場合、 もしくは return 文で空文字 "" が返された場合は通常通りセルの内容が表示される。
- 行番号・列番号も x = 0 および y = 0 として同様にこのマクロが呼ばれる。 この時 [x,y] には行番号や列番号が設定されないので、 行番号・列番号を参照したいときは y や x を使う。
- 「セル内計算式を処理」は「!format.cms」の実行前に適用される。
- 「数値を右寄せ」「数値を 3 桁区切り表示」「小数を省略表示」オプションは 「!format.cms」の実行後に適用される。
- 「!format.cms」の結果は画面表示と印刷時のみに適用される。 通常のマクロからは適用結果は参照できない。
- その他マクロの仕様変更。
- [383] マクロの実行中、ステータスバーおよびツールチップで「マクロを実行中です。」 と表示するようにした。
- 「MessageBox()」で表示されるメッセージボックスを モーダルダイアログとして表示するように変更。
- [234] 「ReplaceAll(find, replace, ignoreCase, wholeCell, regex, left, top, right, bottom);」 を追加。
- 「InsertRow(top, bottom);」「DeleteRow(top, bottom);」「InsertCol(left, right);」 「DeleteCol(left, right);」を追加。
- α1 以降 InputBox、InputBoxMultiLine で「キャンセル」が選択された場合に表示されていた 「キャンセルされました。」というメッセージボックスを表示しないように変更。
- 印刷の動作を変更。
- 長いセルを折り返して印刷するようにした。
- オプション設定の「数値を右寄せ」「数値の 3 桁区切り表示」「小数を省略表示」 が印刷時にも反映されるようにした。
- 「!format.cms」の適用結果を印刷するようにした。
Ver.2.0 α2(2018/05/27)
- ダウンロード: Cassava20a2.zip (1.69 MB)
- [397] 「UTF-8 を優先して使用する」オプションを追加。
-
[406]
正規表現検索の置換文字列でキャプチャした値を指定できるようにした。
- 「$0」がマッチした文字列全体を、「$1」~「$9」 が () 内にマッチした文字列を表す。
- 「$」自体を指定する場合は「\$」と、「\」を指定する場合は「\\」と記述する。
- [328] [408] α1 で導入した「セル内改行を含む行の高さの最大値」オプションで小数値を設定可能に変更。
- マクロの仕様を変更。
- [412] 「Paste()」の実行が失敗する場合があった問題を修正。
- 「Right」「Bottom」に値を設定した時、データのテーブルサイズが正しく更新されるように修正。
- 「SelLeft」「SelTop」「SelRight」「SelBottom」を使用して範囲選択した場合に編集モードを終了するように修正。
- 値を代入していない変数を使用すると 0 が返されるのではなくエラーとなるように変更。
- 関数の実行中にエラーが発生した場合、その関数だけではなくマクロ全体が終了するように変更。
- 「+=」「-=」「*=」「/=」の 4 つの演算子を追加。
- クラス宣言を導入。
- 「class ClassName {constructor(){...} f1(){...} f2(){...} ...}」という構文でクラスを宣言する。
- 「new ClassName()」でオブジェクトを生成する。
- constructor は省略可能。
- constructor が引数を持つ場合、new で呼び出すときの引数の個数は constructor と一致していなければならない。
- クラスの継承はできない。
- 「obj[key]」でオブジェクト内のフィールドにアクセスできるようにした。ただしメソッド呼び出しは不可。
- import 文を導入。
- 「import { funcName, ClassName } from "filename.cms";」という構文で filename.cms 内の funcName や ClassName が使用可能になる。
- filename.cms は Cassava Editor の Macro フォルダからの相対パス。 現在のファイルからの相対パスではない。 拡張子の省略不可。
- 「import { a as b } from "...";」のように「as」キーワードをつけることによって別名でインポートできる。
- α1 で導入した「file::func()」記法は廃止。
- Cassava Editor 1.x 互換の「file.func()」記法も、file が変数として未使用の場合に限り使用できるようにした。 ただし file が変数として使われていた場合はオブジェクトのメソッド呼び出しとなる。
- α1 で導入した、関数内からのグローバル変数へのアクセスを廃止。 変数は従来どおりすべて関数内ローカルとなる。 「var」宣言は引き続き使用可能、ただし特に意味はなく無視される。
- 動作しない「Sequence()」をマクロリファレンスから削除。
- 同梱するマクロから「間引き.cms」と「Lib.cms」を削除。
- 同梱するマクロに「Array.cms」「Assert.cms」「TestSuite.cms」「TestAll.cms」「ArrayTest.cms」 「FunctionsTest.cms」「MenuTest.cms」「OperatorsTest.cms」「SpecialVarsTest.cms」を追加。
Ver.2.0 α1(2018/05/06)
- ダウンロード: Cassava20a1.zip (1.67 MB)
- マクロの仕様を変更。
- オブジェクトを導入。
- 「{key1: value1, key2: value2, ...}」という構文でオブジェクトを生成できる。 「obj.key」でオブジェクト内のフィールドの読み書きが可能。
- オブジェクトリテラル内で「f(){...},」のように記述することでメソッドを定義できる。 メソッドは「obj.f()」の形で実行する。 この時「this」という名前のローカル変数に obj がセットされる。 呼び出し時の引数の数は宣言時と一致していなければならない。 メソッド内からはグローバル変数と this 以外、外部の変数は参照できない。
- 関数の引数・返り値にオブジェクトを渡す場合、ポインタ渡しとなる (フィールドの値の変更は関数外部にも反映される)。
- オブジェクトに紐付けられない形の関数オブジェクトには非対応。
- new キーワードやプロトタイプ継承には非対応。
- ガベージコレクタはないので一度作ったオブジェクトはマクロ終了までメモリ内に保持される。
- 関数内からデフォルトでグローバル変数を参照するように変更。 「var x;」もしくは「var x = v;」の形式で関数内のローカル変数を定義できる。
- 別ファイル内の関数呼び出しの構文を「file.func()」から「file::func()」に変更。
- InputBox、InputBoxMultiLine で「キャンセル」が選択された場合にマクロの実行を中断するように変更。
- オブジェクトを導入。
- 「全ての列を画面内に表示」メニューを「表示の更新」メニューと統合。 オプションダイアログの「表示」ページで動作を選択可能。
- 「列幅調整は画面外の行も対象とする」オプションを「動作」ページから「表示」ページに移動。
- [328] [408] 「セル内改行を含む行の高さの最大値」オプションを「表示」ページに追加。
- オプションダイアログの「表示」ページのタブ順がおかしかったのを修正。
- マクロの「MultiLineInputBox()」インプットボックスのタブ順がおかしかったのを修正。