はじめに

A5:SQL Mk-2(以下 A5mk2)は、DMonkey という JavaScript ライクなスクリプトエンジンを内蔵しています。
「クリップボードからテキストを取ってきて → ちょっと加工して → クリップボードに戻す」という自動化は、ちょっとしたマクロ代わりにとても便利。特に SQL テンプレートでパラメータを差し替えたり、エディタを切り替えずに済むのが嬉しいポイントです。

この記事では最もシンプルなかたちで、

  • クリップボードの全文を取得
  • 正規表現で置換
  • 結果をクリップボードに戻す
  • 処理完了を println()WScript.Echo() で通知

というワンパッケージを紹介します。スクリプトは数行しかないので、そのままコピペで動かせます。


スクリプト全文

// ClipboardSimpleEcho.dms
// ・Clipboard から全文取得
// ・yourPattern → yourReplacement を一括置換
// ・println() + WScript.Echo() で完了通知
// ・結果を Clipboard に戻す

// 1. クリップボードにテキストがあるかチェック
if (!Clipboard.hasText()) {
exit(); // テキストなしなら即終了
}

// 2. クリップボード全文取得
var text = Clipboard.asText;

// 3. 正規表現置換
// 例:数字をすべて "NUM" に置換する場合
// var newText = text.replace(/\d+/g, 'NUM');
var newText = text.replace(/yourPattern/g, 'yourReplacement');

// 4. クリップボードへ書き戻し
Clipboard.asText = newText;

// 5. A5mk2 の「メッセージ」領域へログ出力
println("▶ クリップボードの置換が完了しました。");

// 6. WScript.Echo でダイアログ or コンソール出力
WScript.Echo("処理完了:Clipboard を更新しました。");

各行のポイント

1. Clipboard.hasText()

先頭大文字の Clipboard オブジェクトを使います。テキストがなければ exit() でスクリプトを終了。

2. Clipboard.asText

クリップボードの文字列を全部取得できます。

3. text.replace(/yourPattern/g, 'yourReplacement')

JavaScript 標準の正規表現置換。yourPatternyourReplacement はご自身の用途に合わせて変更してください。

4. Clipboard.asText = newText

新しい文字列をクリップボードにセットし、上書きします。

5. println()

A5mk2 の「メッセージ(ログ)」ペインに出力する組み込み関数です。置換完了をログに一行だけ出したいときに最適。

6. WScript.Echo()

Windows Script Host(WSH)互換のダイアログ/コンソール出力。


実行手順

  1. 上記コードをそのままコピーし、ファイル名を ClipboardSimpleEcho.dms として保存。
  2. A5mk2 のインストールフォルダ内にある scripts\Tool\ フォルダに配置。
  3. A5mk2 を再起動(または一度終了してから起動)すると、メインメニューの 「ツール」→「ClipboardSimpleEcho」 が選べるようになります。
  4. 任意のテキストをクリップボードにコピーし、メニューからスクリプトを実行。必要な置換が即座に適用され、結果をそのまま貼り付けられます。

おわりに

このミニマルスクリプトは、どんな正規表現にも対応できる汎用性が魅力です。


もし「実用に合わせてもっと複雑なロジックを追加したい」「ログをもっと詳しく残したい」といった要望が出てきたら、ぜひ DMonkey スクリプトの柔軟性を活かして拡張してみてください。