
お待たせしました。コードを書き続ける日々に、ようやく一区切り。
Mery Ver 3.8、ついに公開です。
今回のアップデートは、いつもの細かな改善だけでなく、Mery のマクロ機能にとって少し特別な意味を持っています。
ご存じの方もいるかと思いますが、2024年5月に Microsoft が VBScript の廃止を発表しました。
理由はいろいろあるようですが、この発表で「JScript や Active Script 全体は、この先どうなるの…?」という不安が、一気に現実味を帯びてしまいました。
これまで Mery は、JScript や VBScript、Python Script などでマクロを書けるようにしてきました。しかしどれも、Active Script という同じ仕組みを土台にしています。
つまり、その土台が不安定になれば、Mery のマクロも一緒に揺れてしまうわけです。
そこで今回の Ver 3.8 では、Mery のマクロを 「これからも安心して使ってもらえるかたち」 にするために、思い切ってエンジンの載せ替えをすることにしました。
ヤマサ ぱぱっとちゃんと これ! うま! ! つゆ 500ml ×3個
ヤマサ醤油
忙しい毎日でも、これ 1 本で味が決まる!親子丼も鶏の照り焼きも激ウマです。おすすめ!
Amazon で探す
楽天市場で探す
PR
それから、ネットショッピングが日常になってきたなら、配送料を気にせず注文できる Amazon プライム会員に登録しておくのは、とても効率的な選択です。
Amazon プライム、実は「無料配送」だけではありません。
音楽や映画が楽しめるのは有名ですが、Amazon Luna Standard (旧 Prime Gaming) というサービスも付いてきます。
これ、毎月 PC ゲームやゲーム内アイテムがタダで貰える神サービス。最新作ばかりではないものの、時々「おっ!」と思うタイトルが登場します。11 月は Fallout 76 や Another World の特別版が無料配布!荒廃した世界やクラシック ゲームの名作を、この機会に遊んでみましょう。
さらに映像特典もアツい。プライムビデオでは「藤本タツキ 17-26」や「ピーナッツくん Walk Through the Stars Tour Final」も配信中です。
ピーナッツくん Walk Through the Stars Tour Final
ピーナッツくんが届ける、夢いっぱいのバーチャル ライブ体験!グミ超うめぇ♪
Amazon で探す
楽天市場で探す
目次
QuickJS に対応
今回のバージョンでは、Mery に 新しいマクロ エンジン「QuickJS」 を搭載しました。

QuickJS は、軽量で高速、そして新しい JavaScript 構文にも幅広く対応した、モダンで使い勝手の良いエンジンです。
この導入により、Mery のマクロ機能はこれまで以上にパワフルに。柔軟さも表現力もぐっと増して、「書いていて楽しい!」と思えるスクリプト環境になりました。
ちょっとした自動化はもちろん、本格的な編集機能の拡張まで、幅広いシーンで活躍してくれるはずです。
QuickJS とは?
QuickJS の魅力は、なんと言ってもその 「軽さ」。
とてもコンパクトなサイズながら、ES2023 仕様までしっかりサポートしていて、リソースが限られた環境でもサクサク動く優秀な JavaScript エンジンです。
しかも作者は、あの Fabrice Bellard 氏。
FFmpeg や QEMU といった巨大プロジェクトを手掛けてきた方で、技術的な信頼性はもう折り紙付きです。
Mery ではさらに、安定性向上やバグ修正が積極的に行われている QuickJS-NG を採用し、より安心して使える実行環境を選びました。
外部 Welcome to QuickJS-NG | QuickJS-NG
QuickJS を使うには?
Mery のマクロで QuickJS を使う方法は、とてもシンプル。
マクロ ファイルの先頭にこの 1 行を書く、それだけです。
QuickJS#language = "quickjs"
alert("Hello World!");
はい、もう QuickJS です。
…とはいえ、この例は従来の JScript でも動くので、QuickJS らしさは伝わりにくいですよね。
QuickJS だからこそ動くサンプルいろいろ
ここからは、JScript では動作しなかった QuickJS ならではのコードをいくつか紹介します。
サンプル 1: クラスのプライベート フィールド/メソッド
QuickJS#language = "quickjs"
class Person {
#name;
constructor(name) { this.#name = name; }
#sayHello() { alert(`Hello, ${this.#name}!`); }
greet() { this.#sayHello(); }
}
new Person("Alice").greet(); // Hello, Alice!
JScript 時代にはまったく使えなかった、新しいクラス構文もフル対応。
サンプル 2: ES Modules をそのまま import
Markdown を HTML に変換する例です。マクロ ファイルと同じフォルダーに marked.js を置いておけば import できます。
QuickJS#language = "quickjs"
import { marked } from "marked.js";
const md = "# Hello\n\nThis is *Markdown*.";
alert(marked(md));
サンプル 3: JScript では不可能だった lookbehind
正規表現の後読み (lookbehind) が使えるようになり、テキスト解析の幅が一気に広がります。
QuickJS#language = "quickjs"
const text = "abc123def456";
const result = text.match(/(?<=abc)\d+/);
alert(result); // 123
サンプル 4: Proxy で魔法のようなラッパーを作る
QuickJS#language = "quickjs"
const obj = { a: 1, b: 2 };
const proxy = new Proxy(obj, {
get(target, key) {
alert(`GET: ${String(key)}`);
return target[key];
}
});
alert(proxy.a); // GET: a → 1
プロパティ アクセスをフックする仕組みをサッと作れるのは QuickJS の強み。マクロのデバッグにもツール化にも応用しやすいです。
QuickJS を採用したことで、「書きやすい」「読みやすい」「できることが段違い」という、新しいマクロ開発体験が Mery で可能になりました。
変更ログ
本バージョンではいくつかの不具合修正や機能改善が含まれています。現在お使いのバージョンで問題がある場合はバージョンアップで改善されるかもしれません。
3.8.2 (2025-12-04)
-
[カラー コードを開く] 機能で、カラー コード文字列の解析処理を修正
3.8.1 (2025-11-26)
- UTF-8 (BOM 付き) のファイルをバイナリ モードで開けない問題を修正
- バイナリ モード使用時、外部でファイルが変更されたときの再読み込みで、バイナリ モードで開くかどうかの確認ダイアログが表示されないようにした
-
QuickJS で window.ShowTip メソッドが未実装だった問題を修正
3.8.0 (2025-11-17)
-
QuickJS に対応
これに伴い、
Tagプロパティ周りの仕組みを独自実装に変更し、複数のマクロ エンジン間でも値を共有できるようにしています。さらに、ベータ検証用として QuickJS をデフォルト言語にできる隠しオプションも追加しました。
Mery.ini[Macros] UseQuickJS=1この設定を有効にすると、
languageを明示しないマクロは自動的に QuickJS で実行されます。逆に、従来のマクロを使いたい場合は、
#language = "jscript9"と指定することで、JScript9 (Chakra) で実行することもできます。 -
鬼車を Unicode 17.0 に対応
開発が終わってしまった鬼車ですが、最新 Unicode に追従させました。
-
ルーラーの右クリックにポップアップ メニューを追加
[ルーラーで行の文字数を指定する] をオフにしている場合でも、右クリックから折り返し位置を簡単に設定できるようになりました。
-
行番号の右クリックにポップアップ メニューを追加
ブックマークの追加や行の複製など、行関連の操作をより手軽に行えるようになりました。
- 行番号のマウス ポインターを Per-Monitor DPI に対応
-
[オプション] の [記号] カテゴリに [行が削除された時にブックマークを保持する] を追加
-
[ローマ字検索] で [置換]、[すべて置換] が正しく動作しない問題を修正
-
[編集モードの設定] ダイアログに [既定に設定] ボタンを追加
-
編集モードの [プロパティ] ダイアログと [マーカーの設定] ダイアログに [色] の項目を追加
-
マクロに editor.FileDialog メソッドを追加
マクロから [開く]、[名前を付けて保存] ダイアログを表示できるようになりました。
-
マクロに editor.ExecutePlugin メソッドを追加
マクロからプラグインの実行、状態取得、ユーザー定義メソッドの呼び出しが可能になりました。
-
プラグインに Editor_ExecPlugin メソッドを追加
プラグインから別プラグインの実行、状態取得、ユーザー定義メソッドの呼び出しが可能になりました。
-
ShowCaret と SetCaretPos の呼び出し順を変更
Wine (Linux 上で Windows アプリを動作させるソフト) の開発に関わっている方よりご提案いただき、対応しました。
この変更により、Wine 側の IME 周りの問題が改善され、Mery の IME 動作も改善される可能性があるとのことです。
-
対応する括弧と、自動的に囲む括弧/引用符を設定できる隠しオプションを追加
Mery.ini の
Mery.iniGeneralセクションにBracketPairs、SurroundingPairsを追記します。[General] BracketPairs=(<[{)>]} SurroundingPairs=(<[{`)>]}`SurroundingPairsを指定しない場合、"'`をBracketPairsに加えたものが自動囲みの対象になります。 -
[エンコード] に [バイナリ] を追加
Mery はそもそもバイナリ編集向きではないですし、大きなファイルもあまり得意ではありません。それでも「ちょっと試してみたい…」という個人的な興味が勝って、今回はおまけ機能としてバイナリ表示を追加してみました。
- 行番号は「1 行 = 16 バイト」のアドレス風表示 (内容と連動しているわけではありません)
- 改行などで 16 バイトから外れると、アドレス表示としての意味はなくなります
- ASCII 表示はありません
- 今後、機能を強化する予定もありません (本当に「おまけ」です)
本格的にバイナリを編集したい場合は、専用のバイナリ エディターを使うことをおすすめします。
-
ソフトウェア使用許諾書を更新
Mery ベータ版が WinGet などのパッケージ マネージャーに、第三者によって無断登録されるケースがありました。
Mery は、個人がレンタルサーバーで配布しているプロジェクトで、そのサーバー維持費は広告収益でまかなっている状況です。
そのため、公式サイトを経由しないダウンロードが増えると、次のような問題が発生します。
- 記事を読まれないまま、中身だけ持っていかれる
- ダウンロード負荷がこちらのサーバーに集中する
- サイト運営が難しくなる
- 最悪の場合、Mery の公開を継続できなくなる可能性も…
また、個人契約のレンタルサーバー上で、ブログと Wiki の両方を運営しているため、自動アップデートに対応できるような十分なスペックはありません。
高負荷によるサーバー ダウンが発生することもしばしばあります。
こうした事情から、WinGet などのパッケージ マネージャーへの無断登録はご遠慮ください、という内容を使用許諾書に追記しました。
もちろん、WinGet などの便利なツールへの対応そのものは、前向きに考えています。
たとえば、
- 配布用ファイルを GitHub に置く
- 最新ベータ版のリリースから一定期間を空けて登録を許可する
といった方法は検討できます。
ご理解とご協力をいただけると、とても助かります。
-
その他、細かい修正
- コマンド名や項目名の調整
- ルーラーのクリック位置の調整
- Editor_SerialToLogical で引数の範囲チェックを追加
- MI_GET_NEXT_BOOKMARK の引数で -1 を受け付けるように変更
FILCO Genuine ウッドリストレスト Mサイズ 幅360mm 北海道産天然木使用 オスモカラー仕上げ 日本製 ブラウン FGWR/MZ
ダイヤテック
毎日愛用している天然木リストレスト。手首にやさしく、長時間タイピングでも疲れにくい。デスクに置くだけで作業が快適になり、ちょっと楽しくもなります。
Amazon で探す
楽天市場で探す
ダウンロード
導入が簡単なインストーラー版、設定ファイルを外部に作成しないポータブル版、レジストリを一切使用しない ZIP 版を用意しています。
インストーラー版
解凍などの作業が必要なく簡単に使えるインストーラー版です。
Mery Ver 3.8.2 (64 ビット版) インストーラー- 4,784,876 バイト 2025/12/04
- SHA256: 11e9cb1ceb24956af7c4e4fd67314673cb69e7478c418e17e060243884962498
- 対応 OS: Windows 11, 10, 8, 7, Vista (64 ビット)
- 4,257,144 バイト 2025/12/04
- SHA256: ba172f5e8d922793e0b6c38c2f75bdff9e2eb606f626f6eb9bc734cea83f2c09
- 対応 OS: Windows 11, 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
ポータブル版
インストールは不要。通常の ZIP 版と異なり設定ファイルを外部に作成しないので USB メモリに保存して持ち歩けますし、PC 環境を汚すこともありません。
Mery Ver 3.8.2 (64 ビット版) ポータブル- 6,026,413 バイト 2025/12/04
- SHA256: 58e0a396484c6de07c0915264b489bad16d029fdfda2eb05fff1b6e308f70e44
- 対応 OS: Windows 11, 10, 8, 7, Vista (64 ビット)
- 5,167,542 バイト 2025/12/04
- SHA256: 58e3a1404325c7a9da674e51d08a61006a689d3d69cf22bea7ac24cc4b218c1f
- 対応 OS: Windows 11, 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
ZIP 版
アーカイブを解凍するだけですぐに使える ZIP 版です。
Mery Ver 3.8.2 (64 ビット版) ZIP- 6,026,259 バイト 2025/12/04
- SHA256: 9263b97d7d658f467cf2e719a472d8aececf4d8034c1500e6aeef129de9bca6e
- 対応 OS: Windows 11, 10, 8, 7, Vista (64 ビット)
- 5,167,388 バイト 2025/12/04
- SHA256: 24cec8e52141f215215710f013c8f6c2ad3953aca5b2a5160acc239867ba3b0f
- 対応 OS: Windows 11, 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
おわりに
いやー、長かったです。本当に。
VBScript の廃止で「どうしよう…」となっていたところ、ユーザーさんから「QuickJS がいいよ!」と教えていただき、そこから今回の開発が一気に動き始めました。
フォーラム QuickJSやDelphiに関するちょっとした雑談
フォーラムで協力してくださったみなさん、本当にありがとうございました!

QuickJS 対応を決めてから実装がかたちになるまで、気づけば 10 カ月。
ようやくお届けできて、今はほっとしています。
今回のアップデートでは、特にマクロ ユーザーさんに「おっ」と思ってもらえるポイントがいくつかあります。
まずは Tag プロパティ。
マクロ終了後も値を保持し続けられる便利なプロパティですが、QuickJS、V8、従来の JScript9 のどれからでも同じように扱えるよう、内部でこっそり調整しています。
異なるエンジン間で自然にデータを共有できるようにするのは、なかなか大変でした…。
次に ActiveXObject について。
Microsoft は ActiveX の廃止を進めていますが、実際には「今日から全部使えません!」という状況ではなく、扱いが非常に読みにくい状態が続いていました。
VBScript の廃止も範囲があいまいでしたが、公式ブログのコメントによると削除対象は vbscript.dll のみとのことで、今のところそれ以外には影響はなさそうです。
外部 VBScript deprecation: Timelines and next steps

つまり、「ActiveX が廃止される」=「ActiveXObject が使えなくなる」わけではない、ということですね。

既存のマクロ資産を活かすためにも、QuickJS で ActiveXObject を動かすことにこだわり、手応えのある実装に仕上がりました。
ただし、JScript9 と QuickJS は動作方式がそもそも違うため、従来のマクロがそのまま QuickJS で動くわけではない点だけは、ご理解いただけると助かります。
今回の取り組みは、今後 Microsoft の動向に振り回されずに済むよう、「マクロ言語そのものを Mery 側で用意する」 ための第一歩でもあります。
将来を見据えたアップデートとして、受け取っていただけたら嬉しいです。
それでは、新しい Mery をお楽しみください。そして、これからも Mery をどうぞよろしくお願いいたします。
TourBox Elite 左手デバイス 無線 Bluetooth プロ向け 2台同時接続 触覚フィードバック 動画編集 写真編集 イラスト制作 Premiere Pro DaVinci Resolve Lightroom クリスタ対応
TourBox Tech Inc.
クリエイティブ作業が劇的に快適に!左手ひとつで操作を自由自在にコントロール。
Amazon で探す
楽天市場で探す
レンタルサーバー
「Haijin Boys Online」や「MeryWiki」など、Mery の最新版やマクロ、プラグイン、テーマなどのコンテンツを共有するプロジェクトは、レンタルサーバーで運営されています。
カラフルボックス (PR)
カラフルボックス
は、業界トップクラスの信頼性を誇るレンタルサーバーです。
安定性と柔軟性に富んでおり、あらゆるニーズに応えることができます。
安心してご利用いただけるカラフルボックスは、Web サイトの構築やプロジェクトの展開に最適な環境を提供します。
クラウドソーシング サービス
個人向けの機能拡張やカスタマイズ、マクロやプラグインの開発、構文ファイルやテーマの制作について、お問い合わせをいただくことがあります。
しかし、現在は Mery 本体の開発に注力しており、個別のカスタマイズやその他の制作依頼にはお応えすることができません。
マクロやプラグイン、構文ファイルやテーマの制作は自由に行えますので、ぜひご自身で取り組んでみるか、あるいはクラウドソーシング サービスをご活用ください。
CrowdWorks (PR)
CrowdWorks
は、日本最大規模のクラウドソーシング プラットフォームです。
アプリ開発やデータ入力、動画編集など、多岐にわたる仕事に対応しています。
数多くのプロフェッショナルが登録しており、高品質かつ迅速なサービスを提供しています。
ココナラ (PR)
ココナラ
は、手ごろな価格で高品質なクラウドソーシングサービスを提供しています。
プログラムの開発やロゴの作成、音楽制作など、幅広いニーズに対応しています。
クリエイティブなアイデアをかたちにするためのプロフェッショナルなサポートが用意されています。



