お待たせしました。遂に完成、テキストエディター「Mery」の最新版!
突然ですが、みなさんは「ティラノスクリプト」というフリーのゲーム開発ツールをご存知ですか?プログラミングなどの知識がなくてもタグを組み合わせるだけで簡単にノベルゲームを開発することができるという夢のようなツールです。
そのティラノスクリプトの公式サイトのチュートリアルで、テキストエディター「Mery」が紹介されていました!さらに、Mery 用のティラノスクリプト構文ファイルを配布されている方もいらっしゃるようで、なんかスゲー!
そういうわけで、私もティラノスクリプト + Mery でサウンドノベル形式のゲーム制作に挑戦してみましたが、本当に簡単で作るのが楽しいです。
フリーソフトが減ってきているご時世、ティラノスクリプトのような素晴らしいフリーソフトが活躍されているのは励みになりますね。
なお、私のゲームは完成しない模様。
ティラノスクリプトで作られた多くのゲームは「ノベルゲームコレクション」という投稿サイトで無料でプレイできるようになっていますが、この中の作品のどれかが Mery で書かれているのかもしれないと思うと、ちょっと嬉しくなります。
TYRANOSCRIPTではじめるノベルゲーム制作 (I・O BOOKS)
工学社
手軽にノベルゲームが作れる魔法のツール、しかも無料です。
Amazon で探す
楽天市場で探す
Ver 2.6.6 の新機能
今回の新機能はちょっとマニアックですから、使わない人にはまったく関係ないかもしれません。でも、バグフィックスは結構多めなので、前のバージョンの不具合でお困りの場合は更新してみてくださいね。
JavaScript エンジン Chakra に対応
Mery のマクロ機能で使用している JavaScript エンジンですが、Chakra (Legacy) の最上位モードに対応しました。
Chakra (Windows 7 以降) を使用することでマクロの動作速度が桁違いに速くなります。
また、スクリプトエンジンは従来 JScript 5.7 モード固定でしたが、最上位モード (IE8 ~ IE11) に対応しましたので JSON オブジェクトやブロックスコープ (let, const) などの機能が使えるようになります。
縦書き機能の強化
Ver 2.6.5 から実験的に搭載していた縦書き機能ですが、好評と不評をたくさん頂きましたのでご意見を参考に改善してみました。
それと、以前の記事で「DirectWrite 対応は Windows 8.1 以降が必要です」と注意書きを入れていたためか、縦書き機能は Windows 7 では使用できないと思われている方もいらっしゃるようですが、縦書き機能は Windows 7 でも使用できます。(ついでに Windows XP でも大丈夫)
Windows 8.1 以降だと、ちょっと文字が奇麗になる DirectWrite という機能が縦書きでも使えるよ、というだけです。
縦書き印刷に対応
Ver 2.6.5 の縦書き印刷は横書き印刷にフォントだけ縦書き用のものを使うことでお茶を濁していましたが、Ver 2.6.6 では縦書き印刷にきちんと対応しました。
紙の向きや、段組み、ヘッダー・フッターなどの機能も、縦書き印刷用に作り直しました。
紙への印刷はもちろんですが、縦書き印刷で PDF に出力して電子書籍リーダーで読む、なんていう使い方もできると思います。
縦書きオプションの追加
従来は、基本は横書き、必要に応じて縦書きにもできる。といった感じの縦書きモードでしたが、Ver 2.6.6 ではデフォルトで縦書きにできるオプションを追加しました。
[ツール] メニューの [オプション] から [表示] タブを開き [詳細] ボタンをクリックし、[縦書き] 項目のオン・オフで設定可能です。(縦書きと横書きが混在している場合は半チェック状態となります)
縦書きでも DirectWrite に対応
Ver 2.6.5 でも対応してたよね?と思われるかもしれませんが、実はバグがひどくて……、使えなかった方もいらっしゃるかと思います。
Ver 2.6.6 では DirectWrite 対応をはじめ、縦中横機能やキーボード操作 ([Page Up] [Page Down]) に関する不具合などがいろいろと改善されています。
その他、オマケ的な機能
Base64 エンコード機能を追加
デコードはあるのにエンコードがないじゃん。って思ったもので、別に誰も欲してないと思いますが、[Base64 エンコード] 機能を追加しました。
[編集] メニューの [選択範囲の変換] から [Base64 エンコード] を選択し、エンコードしたいファイルを選べばエディターに Base64 にエンコードした文字列が挿入されます。
検索ダイアログの正規表現テンプレートを追加
ずいぶん前にご要望のあった案件ですが、検索ダイアログの「>」ボタンに (?:) 非捕獲式集合、(?=) 先読み、(?!) 否定先読み、(?<=) 戻り読み、(?<!) 否定戻り読み、(?~) 非包含オペレータの正規表現テンプレートを追加しました。
自由に編集できるようにすれば?っていう声が聞こえてきそうですが……。
更新履歴
-
マクロで使用する標準のスクリプトエンジンを Chakra (jscript9.dll) に変更
- Chakra が使用可能な場合は Chakra を使用
- 古い環境などで Chakra が使用できない場合は標準エンジン
- バージョン (SCRIPTPROP_INVOKEVERSIONING) は可能な限り最上位を使用
-
それに伴いマクロの指令 #language = "xxxx" を追加
- #language = "JScript"
- #language = "PerlScript"
- #language = "PHPScript"
- #language = "Python"
- #language = "RubyScript"
- #language = "VBScript"
(#language = "JScript" を指定した場合は Chakra をオフで jscript.dll を使用) - [編集] メニューの [選択範囲の変換] に [Base64エンコード] を追加
- [オプション] の [表示] の [詳細] に縦書き固定オプションを追加
-
[縦中横] の [欧文を含める] を [英文を含める] に変更、"!" や "?" は英文のほうに含める、半角記号も英文に含めるようにした
([英文を含める] は項目名変更につき必要に応じて設定しなおしてください) -
縦書きの印刷に対応
(縦書きの印刷プレビューで、前・次のページのアイコンの方向が違うのはご愛敬) - 印刷の余白の最大値を 999 ミリまで入力できるようにした
- カーソル位置やブックマーク (his ファイル) を保存時に更新するようにした
- Windows の画面の [文字の大きさ] が 100% ではない場合の縦書きの DirectWrite の不具合を修正
- [オンラインヘルプ] のツールバーアイコンがおかしかったのを修正
- [縦中横] と [自動マーカー] 併用時に時々縦中横が解除されるのを修正
- 特定条件下で強調文字列が色分けされなくなっていた問題を修正
-
検索ダイアログの正規表現テンプレートに以下を追加
- (?:) 非捕獲式集合
- (?=) 先読み
- (?!) 否定先読み
- (?<=) 戻り読み
- (?<!) 否定戻り読み
- (?~) 非包含オペレータ
- 検索ダイアログで [検索する文字列] の初期値を設定できるようにした
-
行選択時にもマーカーを追加できるようにした
(行単位でマーカーが分割されます。行をまたぐことはできません) - 検索ダイアログのサイズ変更でコンボボックスの補完が動いていた問題を修正
- アウトプットバーへの入力でエラーが発生することがあったのを修正
- [元に戻す] のときにアウトプットバーを更新するようにした
- ウィンドウのサイズを変更したときにツールバーが小さくなる問題を修正
- 縦書きで [PageUp] [PageDown] がおかしかったのを修正
- その他、細かい修正
ダウンロード
Mery Ver 2.6.6 (32 ビット版) ZIP- 2,791,895 バイト 2018/03/22
- SHA256: b9f4481e17c1f9561b928becd66f7f70bc913ebde6bdfb8dc1a6d0c08f57eb79
- 対応 OS: Windows 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
- 2,390,766 バイト 2018/03/22
- SHA256: 72e750c4d7bcc697183dbfa90eb1ca3806e8b44ebc9d8930ceed683bb9fbcb9d
- 対応 OS: Windows 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
- 3,451,838 バイト 2018/03/22
- SHA256: 419992210d5e41a9b42c9cc6506bddedf4529744f659061b4804711a1bd9a74f
- 対応 OS: Windows 10, 8, 7, Vista, XP (64 ビット)
- 2,819,711 バイト 2018/03/22
- SHA256: 4b71f2e7daa2ad0f7ca6a4f99e137bffdb8d6fbbf32e9f1400dd2308f6ae94ba
- 対応 OS: Windows 10, 8, 7, Vista, XP (64 ビット)
おわりに
ようやくうちにもスマートスピーカーがやって来たのですが、「Google Home Mini」なんですよね。このブログは Amazon 先生に魂を売っていくスタイルなのでちょっと心苦しいところですが……。
私「ねぇ、グーグル。森の音」
グ「森の音はこのような感じです」
森「(鳥の鳴き声、虫の声)」
私「ねぇ、グーグル。おなかが痛いよぅ」
グ「大丈夫ですか?私がそばにいますよ」
おぉ、なんか可愛い!(*'ω'*)
さて、こんな感じの Google Home Mini ですが、せっかくスピーカーが搭載されているのに私は Google Play Music という音楽聞き放題のサービスに加入していないので、自分で取り込んだ曲しか聴けずちょっと残念な思いをしていました。
そんな中、ついにやって来た「Amazon Echo Dot」の招待メール。
(Amazon Echo Dot は招待された方のみ購入可能です)
おっそー。申し込みしたの昨年の 11 月なのに。Google Home Mini 買っちゃったし、どうしましょう。と悩んでいるうちに招待メールの期限が切れてしまいました \(^o^)/
はぁー……。音楽を聴く用途なら外部スピーカーに接続できたり、Bluetooth 対応スピーカーに接続できたりする Amazon Echo Dot のほうが断然使い道が広がりそうなんですよね。
Google Home Mini は外部スピーカーと接続できないし、Bluetooth も受信のみで送信はできないというちょっとケチくさい仕様ですから、あの餅みたいなスピーカーのモノラル音声で我慢するしかないっていうね。
2018/03/29、Google Home Mini が Bluetooth スピーカーに接続できるようになった模様です。
- Amazon Echo Dot のほうが安い
- Amazon Echo Dot のほうが見た目がオシャレ
- Amazon Echo Dot は声だけで Amazon で買い物ができる
- Amazon Echo Dot は外部スピーカー接続用の 3.5 mm ステレオ ジャックがある
- Amazon Echo Dot は Bluetooth 対応スピーカーにつなぎ、Bluetooth スピーカーから再生できる
- Amazon Echo Dot は Prime Music や Amazon Music Unlimited の聴き放題サービスを利用できる
はぁ、招待メールがもう少し早く来ていれば……。
私「ねぇ、グーグル。ピカチュウ!」
グ「わかりました。ピカチュウです」
私「?」
ピ「ピカー!」
私「!」
何、この機能……。
好きな音楽を好きなだけ。Amazon Music Unlimited の 30 日間無料体験登録はこちら。
ブログを覗きに来たらMery更新されていて嬉しいですありがとうございます!
まさにwin7で使わせていただいてるのですが縦書き本当にきれいで、特に半角縦中横がズレもなくてありがたいです! 横書きでも十分きれいだったのに縦書き表示も対応していただけて、その上バグ対応までしていただけて、ありがたやありがたや……
>> win7使い さん
コメントありがとうございます。
まさに更新した直後ですねー。
> 縦書き本当にきれいで、特に半角縦中横がズレもなくてありがたいです!
苦労した機能なので、そう言っていただけると嬉しいです ^^
あとはバグが出ないことを祈るのみ……
(とか言ってると数分でバグが見つかったりすることが多いですけど ^^;)
いい感じに更新来てたのでありがたみ。
早速使い倒さねば(`||´)
GoogleHOMEmini買っちゃってたのは驚いたけど・・・w
更新おつかれさま&ありがとうございます。
期間が空いたのは、jscript9 対応されてたから?かな。
旧版指定の #language も用意されてて、考えられてますね。
縦「書」きを使う機会は無いので、余りお役にたてないかもですが、
地味だけどありがたい修正があるので、さっそく試してみます。
お世話になります。
2.6.6 にしたところ、マクロが起動しなくなりました。
まず、マクロメニューから実行→無反応です。また、割り当て済みのショートカットでも同様です。マクロ本体、ショートカットともに削除の上で再追加、ショートカットの割り当てを行いましたがやはり起動しません。
(環境)
Windows 7 SP1 64bit / Mery 64bit
(更新手順)
Mery-x64-2.6.6.zip を 展開、既存のものにすべて上書き。その後、MaterialColor-x64-1.1.2.zipを展開して上書き。
以上、ご報告いたします。
追記。
動かなくなったのは Emeditor のマクロ jsee 形式でした。
これまでは動いていたのですが、これまでが例外だったということでしょうか…。
アップデートお疲れさまです!マクロ高速化と聞いて早速利用させていただいています。
ところが、一部マクロが以前とは違う動き方をしますね…。今のところ、そういったものを見つけた場合には、「#language = "JScript"」を記述することで回避できています。
私が使っているものの中でも今のところ2つで違う動作をしたため、この手の問合せは増えるかもですね^^;
> ベンガルトラ さん
もしかしたら、該当の動かないマクロの1行目に「#language = "JScript"」を記述してあげれば動くかもしれません。
自己解決しましたのでご報告します。
マクロの行頭に #language = "JScript" の記述で動くようになりました。
Chakra 標準採用の影響なのですね。失礼しました。
yukoさん
何というタイミングの一致w
ご指摘、および自己レスの通り #language = "JScript" で動くようになりました。
おお!検索する文字列の初期値設定も実装されたのですね!
「選択テキスト」で利用させていただいていますが、かゆいところに手が届くとはこのことですね~(๑•̀ㅂ•́)و
みなさん、コメントありがとうございます。
>> 荒野炎神 さん
Ver 2.6.6 はかなりの自信作なのでバッキバキに使い込んでやってください ^^
> GoogleHOMEmini買っちゃってたのは驚いたけど・・・w
Amazon Echo Dot がすごく欲しかったのに、全然当選しないので、もういいよ!と、つい浮気しちゃいましたねー。
結果的に、さらに Amazon Echo Dot が欲しくなっただけですが… ^^;
>> 通りすがり^2 さん
> 期間が空いたのは、jscript9 対応されてたから?かな。
Chakra 対応は師匠から教えを授かりながら、1 カ月ぐらいかかりましたね。
インフルで倒れられてからは消息不明ですが…。
> 旧版指定の #language も用意されてて、考えられてますね。
Chakra 化は実験的な機能だったので、#language="jscriptchakra" とかで指定したときだけにしようと思ったりもしたのですが、Microsoft の公式文書によると互換性あるみたいなので、思い切って標準で Chakra、#language="jscript" 指定で下位モードってことにしてみました。
> 縦「書」きを使う機会は無いので
今回は縦「印刷」が搭載されたので、PDF とかに縦印刷して読み専でも使えますよー。
>> ベンガルトラ さん
> 動かなくなったのは Emeditor のマクロ jsee 形式でした。
そ、それは…。あまり大きい声では言えませんが…、jsee が動いていたのはたまたまってことでお願いします。
Chakra 対応のせいというわけではなく、今までは拡張子で判別して、「js」なら JScript、「pys」なら Python、Mery 側が知らない拡張子の場合はとりあえず JScript で動かしておけー、という感じになってたので、たまたま jsee という拡張子が JScript として動いていました。
今回、Chakra 対応や #language 指令での言語指定の副作用で、拡張子不明、#language 指定なしのファイルがどの言語で実行したらいいのかわからない状態になってしまっていたので、次のバージョンでは、強制 JScript で動かすようにプログラムを戻しておきますー ^^;
2.6.6 で対症療法ですが、#language = "JScript" でも OK ですし、拡張子を js にしていただくだけでも大丈夫かと思います。
>> yuko さん
サポートのご協力ありがとうございます。
> ところが、一部マクロが以前とは違う動き方をしますね…。
一応、Microsoft 的には後方互換用に作られた jscript9 ということになっていますが、3 つ、使用できなくなる機能があります。
IE 9.0 モード以降で、GetObject 関数が使えなくなります。既存のインスタンスを呼び出すためのものですが、これ以降は ActiveXObject だけになります。
IE 11.0 モードから @if などの条件付きコンパイルと、そのための変数が使えなくなります。
これらの機能を使用されているマクロですと、影響を受けるかもしれませんので #language = "JScript" を指定して旧モードとして動作させるか、マクロのほうを修正いただければと思います。
> おお!検索する文字列の初期値設定も実装されたのですね!
気づいてくれてありがとうございます ^^
こっそり追加しておきました。これでしばらくは安眠できそうですw
開発お疲れ様です。
最新32ビット・インストール版を入れようと思うのですが、パス名は同じ場所に
上書きされるのでしょうか?
C:\Users\(ユーザ名)\AppData\Roaming\Mery
自己解決しました。
これまで、二台のPCのうち、一台は
C:\Users\(ユーザ名)\AppData\Roaming\Mery\Mery.exe
もう一台は
C:\Program Files\Mery\Mery.exe
としていました。
今回から、上のパスに統一しました。マクロフォルダは
従来と同じ外付けハードディスクにしました。
お騒がせしました。
バージョンアップ、ありがとうございます。
また、要望した検索ダイアログの正規表現テンプレートの項目追加、
アウトラインの見出しの反転箇所について元に戻す実行時の対応、
ありがとうございました。
マーカーはどういったときに使うのだろうと思っていましたが、
プログラミングで変数などをマーカーに追加すると、分かりやすくなりますね。
そんなに頻繁にプログラミングするわけではありませんが、更に快適に使えそうです。
>> tisi さん
コメントありがとうございます。
解決されたようで良かったです ^^; インストーラは基本的に上書きインストールになりますので、別のバージョンをお試しで使用したい場合などは ZIP 版をお使い頂ければと思います。
>> ARC さん
コメントありがとうございます。
検索ダイアログのテンプレートは、当時提案していた内容とちょっと異なってますがご了承ください。
> アウトラインの見出しの反転箇所について元に戻す実行時の対応
こちらは一応、対応してみたものの、元に戻す実行時だけでなく、文字入力などのすべてのタイミングで更新されるようになっていますので、もしかすると動作速度の低下などを招く恐れもありますので、お気づきの点などがございましたら教えていただけると助かります。
マーカー機能は、確か、ご要望の多かった利用シーンとして、やはりプログラミングの変数強調でしたね。他には、印刷時にもマーカーが反映されますので、あらかじめ重要ワードなどにマーカーをつけておくと印刷したときに蛍光ペンで塗ったみたいな感じで印刷されてカッコよくなります ^^
自分は物書き中心ですが、マーカーはワードヒートマップって言うんですかね
接続詞や似た言葉を登録しておいて、文章の中での使用頻度や重複を見分けるのに使わせてもらっています。
はじめまして、最近Meryを使い始めました。
環境構築は面倒でしたが、Mery+WinPythonで高速なマクロでの処理が可能になり、
やっと秀○のマクロ作成から解放されそうです。
一点質問があり投稿させて頂きました。
質問は、マクロ中に矩形選択状態を調べる方法についてです。
やりたい事は、
マクロ起動⇒選択なし⇒ファイル全体に
⇒選択あり⇒選択範囲
⇒矩形選択⇒処理終了
としたいのですが、IsEmptyでは行か矩形か判断がつかないため、
なにか回避策がないかと質問させて頂きました。
よろしくご教示をお願いします。
nishi3daさん
マクロライブラリにあるksさんの「マクロ覚え書き(開発者向け)」に下記のコードが載っています。
>マクロで矩形選択は扱えません(プラグインですら無理).
>ただし,矩形選択中かの判定だけは以下の方法で可能です.
>
>var s = Document.Selection;
>var isBoxed = (s.GetBottomPointY(mePosView) - >s.GetTopPointY(mePosView)) != (s.Text.match(/\n/g) || []).length;
補足
>マクロで矩形選択は扱えません(プラグインですら無理)
とありますが
new ActiveXObject("WScript.Shell").SendKeys("+%{right}");
等で何とかできたりもします。
> 検索ダイアログのサイズ変更でコンボボックスの補完が動いていた問題を修正
ん~、やはりセカンドディスプレイでは補完が効いてしまいますねー。
素のMery(x86) v2.6.6 zip版でも試しましたが補完が効いちゃってます。。
>> 鯖味噌 さん
マーカー機能の使い道のアイデア、ありがとうございます。Mery 正式版のリリースにともない、記事中にマーカー機能を改めて紹介する内容を含めようと思っていますので、参考にさせていただきますね。
>> nishi3da さん, 匿名 さん
コメントありがとうございます。
プログラムを確認してみましたが、確かに矩形選択かどうかを判別するすべは存在していませんでした。
匿名さんの書かれている方法、すごいですね、目からうろこです。
>> Dainty さん
ご報告ありがとうございます。
うーん、やはりダメでしたかー。確認してみましたところ、検索ダイアログのサイズ変更のときだけじゃなく、コンボボックスの文字の大きさを変えただけでも、補完が反応しちゃっているようです。
Windows のコンボボックスのバグとの情報があり、解像度の違うディスプレイ間を、検索ダイアログがまたいで移動したときとかも、自動補完が発動してしまいますね。
一応、こちらでも現象を再現することができましたので、次のバージョンでは何らかの対策をしてみようと思います。
連載“定番無料アプリ”で紹介したテキストエディター「Mery」が急上昇
https://forest.watch.impress.co.jp/docs/serial/countdown/1113585.html
おおー!小技集の記事がいいコンテンツマーケティングとして効いた感ありますねw
この調子で、1位の Lhaplus も抜き去りましょうw
>> yuko さん
オォォー!('Д')
窓の杜さんにランキングシステムがあったことすら知りませんでしたが、上位のソフトは 1 度は使ったことのあるやつが揃ってますねー。
小技集、参考になったっていうコメントが多くて驚きましたね。INI ファイル直いじりのマニアックな裏技集にしなくて良かったですw
> この調子で、1位の Lhaplus も抜き去りましょうw
さすがにそこまでは…… ^^;
でも、同じ Delphi 製の JTrim さんが僅差にいるので、なんか新しいクラスになって周りに知ってるやつがいないけど、前の席が知ってるやつだったときのような感じw
あ、それと、今週の土日に Mery に関する発表をこのブログで行う予定です。
窓の杜の記事を見てポータブル版(ZIP)をダウンロードしました。
まだ使い始めたばかりですが、とても軽快で気に入りました。
Google Home Miniは、Spotify(無料版)でポールモーリアやリチャード・クレイダーマンを流すと、喫茶店やレストランにいるような雰囲気が味わえます(笑)
Kuro さん
>あ、それと、今週の土日に Mery に関する発表をこのブログで行う予定です。
アニメ化?
>> 外堀 さん
Mery をお試しくださりありがとうございます。
シンプルで簡単・便利なテキストエディタをコンセプトに開発しています。
> Spotify(無料版)でポールモーリアやリチャード・クレイダーマン
オォ!スゴイ!!
Spotify って完全に有料のサービスかと思っていました ^^;
無料版を設定して、Google 先生にポール・モーリアって言ってみたら、部屋が喫茶店になりました。
いやー、記事に書いてみるもんですねー。情報ありがとうございました!
置物になっていた Google Home Mini がスゴイ便利な音楽ツールになって、嬉しいです。
>> 鯖味噌 さん
> アニメ化?
アニメ化はポプテピピックよりも無理がありますね ^^;
アニメ化わろたww
アニメ化ではないとなると、とあるテキストエディタ開発者が主人公のギャルゲーが発売されるとかじゃないですかねw
Google Home、REGZA と連携できるようになるみたいですね。今後が益々楽しみです。
>> yuko さん
そうそう、とある作者の文字編集 (テキストエディタ) という、ビリビリオッサンが主人公のギャルゲーがー…、ってォィw
> Google Home、REGZA と連携できるようになるみたいですね。今後が益々楽しみです。
オォ、それはスゴそう!
…ですが、うちの古いレグザでは無理でしょうね ( ;∀;)
2018/03/29 追記。Google Home Mini でも Bluetooth スピーカーに接続できるようになった模様です。
>>Kuro様、匿名様
矩形の選択状態判定について、教えて頂き有り難うございました。
あと、使用していて「あったら、いいな」と思ったのが、マクロランチャーです。
「Macros」フォルダ内をツリー表示させて、ダブルクリックで起動
みたいな機能が欲しいです。
一括処理では対処できないようなスニペット的なマクロを良く使用するので、
是非是非、ご検討ください。
>> nishi3da さん
ご返信ありがとうございます。
私はマクロ関連は苦手なもので、何のお力にもなれませんでしたが… ^^;
> 「Macros」フォルダ内をツリー表示させて、ダブルクリックで起動
ご意見ありがとうございます。
ちょっとニッチな機能っぽいので、標準機能で搭載するのは気が進みませんが、プラグインでなら対応できるかもしれませんね。(って、現在のところプラグインからマクロを起動する方法がないわけですが…)
ご意見は今後の開発の参考にさせていただきたいと思います。
nishi3da さん
その昔、Meryユーザーの ハンドル kinzoku さんがいくつかマクロを公開されて
いました。その中に、 submacromenu.js というマクロがあり、ご要望のマクロ
ランチャーに近い機能でした。残念ながら kinzoku さんのサイトは nifty の
サービス停止にともない閉鎖された模様です。
http://web.archive.org/web/20140707194117/http://homepage3.nifty.com:80/kinzoku/editor/
WayBack Machine を使っても、submacromenu.js のオリジナルソースは見られ
ないのですが、私的に改造したものなら↓で公開しています。
https://img.atwikiimg.com/www35.atwiki.jp/little_lamb/pub/for_mery2/SubMacroMenu.js
制限:
・#Include 機能を使用したマクロは実行できません
ksさんの 「includeライブラリ」を参考に改造して、マクロライブラリに
登録していただければ誰かが幸せになります。
・64bit版のMeryでは動きません
VBScriptに対応するため、ActiveXCom の ScriptControl を呼んでいます。
VBScript部分を削除すれば大丈夫そう?
・#tooltip はVz風のキーバインド案内なので気にしないで
# atwiki はサイトが流出問題を起こして、ユーザーのパスワード強制変更を
# やらかして以来、放置状態。
# Mery が正式版になったことだし、管理を取り戻そうかなあ?
制限追加
・外部マクロファイルを FileSystemObject で開いているから UTF-8 のマクロは実行できないかも
> papagoat様
情報、有り難うございます。
「javascriptやだー」とPythonに進んでいるひねくれもので、当然ながら動きません。
Python(WinPython)専用マクロランチャーに改造して(Qtか使用?)需要ありますかねー?(汗
ScriptControl を使うなら Python マクロも Vbscript の実行とたいした違いはないんですけどね。 AddCode の代わりに ExecuteStatement メソッドでも可。
ただ、Python がりがり使うような環境で 32bit ってのはないだろうな。
↓あえて Python で書いてみる
#language = "Python"
import win32com.client
def main():
SC = win32com.client.Dispatch("ScriptControl")
SC.Language = "Python"
SC.AddObject( "window", window)
SC.AddObject( "document", window.document )
SC.AddObject( "editor", window.editor )
SC.AddObject( "clipboarddata", window.clipboarddata )
SC.AddCode( 'def py():\n\twindow.alert(document.name)\npy()\n')
main()
ランチャーマクロを Python で書けば exec() が使えますね。Meryのオブジェクトも一応はとおるっぽい。
#language = "Python"
exec( 'def py():\n\twindow.alert(window.document.name)\npy()\n')
Python なら import があるから #include の処理は不要かな。File の io も自前で処理できるし、階層式 PopupMenu の生成以外はすっきりかけるような気がします。頑張ってください。<丸投げ