A5:SQL Mk-2 でクリップボード操作+ログ出力を行う DMonkey(.dms)スクリプト
はじめに
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 標準の正規表現置換。yourPattern
と yourReplacement
はご自身の用途に合わせて変更してください。
4. Clipboard.asText = newText
新しい文字列をクリップボードにセットし、上書きします。
5. println()
A5mk2 の「メッセージ(ログ)」ペインに出力する組み込み関数です。置換完了をログに一行だけ出したいときに最適。
6. WScript.Echo()
Windows Script Host(WSH)互換のダイアログ/コンソール出力。
実行手順
- 上記コードをそのままコピーし、ファイル名を ClipboardSimpleEcho.dms として保存。
- A5mk2 のインストールフォルダ内にある scripts\Tool\ フォルダに配置。
- A5mk2 を再起動(または一度終了してから起動)すると、メインメニューの 「ツール」→「ClipboardSimpleEcho」 が選べるようになります。
- 任意のテキストをクリップボードにコピーし、メニューからスクリプトを実行。必要な置換が即座に適用され、結果をそのまま貼り付けられます。
おわりに
このミニマルスクリプトは、どんな正規表現にも対応できる汎用性が魅力です。
もし「実用に合わせてもっと複雑なロジックを追加したい」「ログをもっと詳しく残したい」といった要望が出てきたら、ぜひ DMonkey スクリプトの柔軟性を活かして拡張してみてください。
コメント
0 件のコメント :
コメントを投稿