2026.01.14

秀丸エディタのマクロをVBScriptのランチャーに使う

弁護士 西村 幸三

私は23年来、秀丸メールを愛用している。2003年のE-mailがまだ残っている。

秀丸メールの優れたところは、何と言っても動作が高速、検索が高速、高機能なことである。そしてウイルス対策として最強である。

それについてはこれまでもブログで何度も書いている。

秀丸メール (1)優秀なメールクライアント
https://lawfield.com/cms/?p=962
秀丸メール(2) ウイルス対策に強いメールクライアント
https://lawfield.com/cms/?p=1426
秀丸メール(3) 迷惑メールフィルター
https://lawfield.com/blog/2022/06/15/1439/

秀丸メールの上記の長所は、なにより、エディタとして20年以上最高峰の一つであり続ける秀丸エディタを内蔵していることである。

例えば、過去の顧客や相手方、利害相反チェックの際には、メールをベースにしても一瞬にして検索が可能である。

Gmailがいくら便利と言われても、Gmailは遅い。インターフェースも、メールの表示速度も、検索も、ダウンロードも、秀丸メールに比べるとおそろしく遅い。とても、スマホでのノマド時間以外は使う気がしないのである。

PCを替えても、秀丸メールは、フォルダをコピーすれば一瞬でメール環境をそのまま移行できる。

そんな秀丸メール・秀丸エディタのよさのやや上級編が、手軽に日本語環境で正規表現が駆使できること、マクロが使えることである。

正規表現とは何か。

分かりやすく言えば、たとえば、置換の際に、正規表現のチェックボックスにチェ

ックを入れておけば、「\n」を「改行コード」として認識するのである。

だから、長文で、改行コードを何か特定の文字の前に挿入して、その文字列が出てきたら行を変えたい(西村: → \n西村 と置換)とか、3つ以上の改行コードが続く場合は改行コード2つにして、一行空いているのを詰めたい(\n\n\n を \n\n に置換)といったことである。

この\nといった文字を正規表現のメタ文字といい、\dは数字、.は任意の1文字、といった規則がある。

さらに、ある特定のパターンで並んでいたら、その文字列の一部だけを規則に従い置換するといったこともできて、かなり複雑なパターンの文字列を指定することができる。

たとえば、Excelで5列分くらいのパターンを、csvファイル上でエディタで正規表現で記述すれば、エディタ上でも一括で何万行もの文字列をあっという間に変換することができる。

文章書きにとっては、正規表現が使えるエディタで執筆することで、執筆のストレスのなさもさりながら、文章の整形作業の手数とストレスが極めて少なくなる。

正規表現は、だいたいどのプログラミング言語でも存在し、機能的にも大差無く、メタ文字やパターンマッチの書式も似通っている。

プログラミングを実用的なレベルでやるなら、正規表現の理解は必須である。

マクロとなると、ほぼプログラミング言語である。

秀丸エディタ以前にもっとも有名だったエディタは、MS-DOS時代はVZ Editorであった。WindowsになってからはWZ Editorとなった。

VZ EditorはMS-DOS上で驚異的なスムーススクロールを実現して、目にも優しく、速度も圧倒的だった。

WZ Editorは、ほぼC言語の文法でマクロが書けた。WX-Cといった。

エディタ上から、マクロを動作させて、ダイアログを呼び出して、ディレクトリ(フォルダ)を指定したり、ファイルやファイル名を指定したり、あるいはWindowsAPIを呼び出して、ファイルやフォルダを新たに作成したりするのである。

そして、ルーチンを繰返し動作させる際のループ処理、分岐処理などを、C言語の文法で行った。

こういったことがエディタ上のマクロから手軽にできたので、いちいち実行ファイル(.exe)を作る必要がなかった。

やがてWindows時代になると、Visual Basic Script (VBS)というスクリプト言語がWindowsAPIを呼び出すスクリプト言語として重宝されるようになった。

Visual Basic Script は、文法が、マイクロソフトの Visual Basic (VB) そのものであった。

マイクロソフト・オフィス上で呼び出すプログラミング言語、つまり、Accessのデータベース記述の言語、Excelマクロ、Wordマクロなどは、Visual Basic for Applications (VBA)という。

このVBAも、Visual Basic の延長である。

このようなVBS,VBAは、マイクロソフト以前からあるBASICや、Microsoft Basic の機能を高め、Windows上で気軽に扱える環境を提供し、Windows上やアプリケーション上で、GUI上から、ファイルやフォルダを操作したりする際のダイアログボックスなどの扱いを格段に楽にしてくれるようになった。

しかし、マイクロソフト・オフィスといったアプリケーションで外部で作成されたVBAをWordマクロ、Excelマクロとして使うことを許すことは、いわゆるマクロ・ウイルスの侵入を招いた。

2014年ころから蔓延して未だに存在するEmotetという甚大な被害を及ぼしたウイルスがあるが、これも、マイクロソフト・オフィス上で動くVBA(その一部はVBSのこともある)であり、これをマクロウイルスという。

現在も、改造されながら、ランサムウエアとして、名だたる上場企業に情報漏洩や、PCをロックした人質事件を頻繁に引き起こしている。

マクロ・ウイルスのゆえに、マイクロソフト・オフィス上で、外部で作成されて持ち込まれたマクロを動作させることは、中身がわからず、どのように動作するかわからないので、おそろしくリスキーである。

さて、秀丸エディタのマクロに話を戻す。

世の中に、秀丸エディタのマクロを踏み台にしたマクロウイルスというのは、全くみたことがない。

なぜなら、秀丸エディタは、日本ローカルであり、外国(ロシア、東欧、中国など)などのウイルスをばらまく犯罪集団は、秀丸エディタを全く対象にしていない。

秀丸エディタのマクロは、秀丸エディタの作者のサイトで便利なものが公開されたりフォーラムで情報交換されているが、ソースコードがテキストファイルで丸見えなので、不正な動作をするようなものは、作者かつ運営者の秀まるお氏が許容しないので、極めて安心である。

秀丸マクロは、わざわざマクロフォルダにコピーしたりや、メニューに登録してマクロを実行するコマンドを実行しないと、動作しないから、ファイルを秀丸エディタで開いただけで動作することはまあない。

そもそもテキストファイルを秀丸エディタや秀丸メールで開いただけでは、マクロが動作したりすることはない。

そういった、いろんなハードルがあるために、ウイルス作者が、秀丸エディタのマクロファイルをばらまいても、そもそも気付かずに騙されて実行するような間抜けはだれもいない。

つまり、秀丸エディタのマクロは、ウイルス作者のターゲットとして全く相手にされないため、極めて安全なのである。

しかし、このマクロを自分で書くことは、かなり難しい。

私も、WZ Editorでも秀丸エディタでも、マクロをあれこれ書いてみたことがあるが、うまく動作せず、書き直しを繰り返し、やはり、マクロ作者が公式サイトのフォーラムなどで登録してくれているマクロを使う方がはるかに楽であった。

とはいえ、マクロになにが書いているかまでは、わからないから、よほど信頼の置けるものしか使うことはなかった。

しかし、思いついて、仕事のある場面でちょっとした一括処理をマクロでやりたい、という場合にも、いざマクロを書くのに何時間も何日も掛けていられなかった。

それが、AIの登場で、手軽さが一変した。

あっという間に自分でマクロが簡単に書けるようになった。

そう、Claude である。

プログラミング言語の取扱いでは、ClaudeにまさるAIはおよそ無い。断言できる。

Geminiも及ばない。Chat GPTに至っては、レベルの違いは甚だしく、論外に近い。

Claude を使うには、Claude 有料版そのものを使う方法もあるが、検索AIとして名前が通っているPerplexity pro(有料版。価格帯はClaudeとほぼ同じ)でエンジンにClaudeを選択して、「論理的に回答する」にチェックをいれておけば、ほぼ最新のClaudeのエンジンが利用できる。

このClaudeのエンジンの性能は圧倒的だと思う。

たとえば、英文契約書の整合性チェックなどは、Google Gemini Proや Google AI Studioも素晴らしいと思うが、Claudeのマニアックなまでの論理的整合性には及ばない。

Chat GPT となると、曖昧で浅くて、並べてみると、使い物にならないとまで言えないが、差は一目瞭然である。

Claudeはプログラミング言語の記述に秀でることを最優先に開発されている。プログラミング言語の記述に秀でているということは、ロジックの積み上げと論理的整合性のチェックに秀でているということであるから、あまたあるAIのエンジンの間でも、顕著に優位性が認められるのは当然だと思う。

しかし、たった半年前の2025年夏ころまでは、世間ではAIといえばChat GPT一択と言われていた。

そのため、法律実務家用の専用AIなるものがあちこちから高額な価格で販売されているが、そのエンジンは、Chat GPTであったりすることが多い。

法律実務家用のAIといっても、中身を見れば、自然言語による判例や書籍の検索がリサーチと称してセールスの売りであったり、契約書のチェックができるといいつつ、その背景データは、提携・監修する法律事務所が類型的な書式を作成してはそれを引用していたりする。

本当にAIが考えているというにはほど遠いものである。

残念ながら、Chat GPTを使った法律実務家用の専用AIというのは、その段階あたりをうろうろしている段階から、まだ抜け出してはいないように思われる。

しかし、現在では、そうした特化したAIがたちまちout of dateになるくらい、汎用AIの進歩が速い。

汎用AI、たとえばClaude、Gemini、NotebookLMなどを、ちょっとした処理のたびに自分でプロンプトを考えながら何十通りにも駆使する方が、はるかに生産性は上がるように思われる。

2025年秋からGoogleのAI製品群が素晴らしい性能向上と使い勝手の向上を見せて、Chat GPTのシェアを目に見えて奪っている。

なにより、Google WorkspaceがAI環境として、本当に便利かつリーズナブルに使えるようになった。

私も、本格的に様々なプロンプトを都度考え出しながら多方面に使うようになったのは2025年の後半からである。

ところで、AIのプロンプトを考える作業は、プログラミング言語の要件定義と似ている。いや、殆ど同じと言ってよい。

AIのプロンプトは、ロジックの積み上げである。

AIに処理して欲しい作業を、いわばロジックに分解して、その要素をできるだけ漏れなく書き込んでいく。

実現したい動作、入力されるソースのデータの形式、出力の形式、データの抽出=正規化のイメージ、そういったものを書き込んでいく。

固有名詞などの予備知識もファイルにメモのように書き留めて予め放り込んでおく。

プログラミング、システム開発において、そういったロジックを言語化したものを、要件定義という。

AIが素晴らしいところは、ユーザーが、プログラムによって実現したいことを自然言語によって記述した内容=要件定義を、ありとあらゆるプログラミング言語上で記述してくれることである。

それに特に優れるのがClaudeである。

それにしても秀丸エディタのマクロなんてマイナーな言語を、Claudeが記述できるのか?

できるのである。

リアルタイムで、秀丸エディタのヘルプやマクロの記述例を検索して調べ、ほぼ動くマクロを出力してくれる。

そして、注意すべきは、秀丸エディタのマクロのAPIだけではうまく動作しなかったり、実現が難しい作業がある。

その多くは、マイクロソフト・オフィスのファイルを扱ったり、ファイルやフォルダを扱う場面である。そういった処理は、VBSのスクリプトファイルを別に記述して、秀丸エディタのマクロから呼び出すことで、解決する。

この場合、Claudeには、「かくかくしかじかの処理を、秀丸エディタのマクロと、VBSのスクリプトで、記述して下さい。」と指定する。

すると何が起きるかというと、VBSのスクリプトファイルを作り、次に秀丸エディタのマクロファイルを作り、秀丸エディタのマクロファイルを実行すると、VBSのスクリプトファイルを呼び出して実行するのである。

これを、「エディタのマクロをランチャーとして、VBSから、マイクロソフト・オフィスを操作したり、WindowsのAPIを呼び出す」といった表現をする。

VBSの実行環境としては、秀丸エディタはとてもシンプルで、マクロの延長としてわかりやすいのである。

ちなみに、マイクロソフトは、現在はVisual Basic Scriptをレガシーなものとしてフェイドアウトする方向であり、PowerShell という、VBSとWindowsAPIを合併したようなスクリプト言語に発展させているので、Powershellで記述するようにAIに命じることでもほぼ同じである。

とはいえ、VBSやVBAは、ファイルやフォルダ操作系のAPIコマンドは大抵備えているから、わざわざPowerShellまで持ち出さなくても、VBSで足りてしまい、PowerShellでWindowsAPIそのものを呼び出すような場面はほぼない。

ファイルやフォルダ名などを入力するダイアログボックスや、エラーメッセージ、終了メッセージなどの処理は秀丸エディタのマクロで記述し、VBSでは、マイクロソフト・オフィスのファイル操作などのAPIを使った一括処理、ループ処理や分岐処理をVBSで記述するというコーディングを、Claudeはあっさり実現してくれるのである。

もちろんAIは、WordマクロやExcelマクロのVBAの記述を出力してくれと言っても作ってくれる。

マイクロソフトのAIのCopilotなどが目指すところはそこなのだろう。

しかし、WordマクロやExcelマクロのVBAは可視性に乏しいので、何が書かれているか、WordやExcelを開かないと確認もできないのが難点である。マクロやVBSはただのテキストファイルであるから、視認性が優れている。

なお、マイクロソフト・オフィスのVBAは、特に外部で誰かが作成したものは、ウイルスが危なくて、踏み込んで使えたものでは無い。

となると、誰が作ったか分からないようなマイクロソフト・オフォスで動くマクロを外から持って来て使ったりせず、AIに、自分で必要な要件定義を示して記述させることが実現できれば、それが怪しいマクロとなることはまあないので、安心して使えることになる。

自作のマクロやVBSをAIに作らせて、秀丸エディタのマクロとVBSをセットで作成して一括処理をするのが、実は、大量の情報の一括処理においては、もっとも機能の過不足もなく、安全なツールということになる。

秀丸エディタのマクロやVBSを組み合わせてどんな一括処理をするのかは、語り出すと長くなるため、割愛するが、驚くほど、様々な場面で生産性向上に役立つ。

なにより、丸1日かけてもデバッグが終わらず断念していたマクロやVBSが、Claudeのおかげで、ものの30分ほどで2,3回も動作確認をすれば、完全動作するものが書けてしまう。

Claudeは、秀丸エディタのマクロを記述するように命じると、いちいち秀まるお氏のサイトの膨大なレファレンスやマクロ製作例を検索して勉強している動作が見えて、ほほ笑ましい。

さらに、マイクロソフトのVBSとなると、一発で完全動作するものを作ってしまう。

汎用AIの中でも、NotebookLM、Gemini、Claudeによる生産性向上は、尋常ではない。

60歳を手前にした私が、もっともAIにハマっていて、何十通りも使い方を考えては、周囲に教えたり導入しているような状態である。

AIは面倒くさい雑務を、正規化、要約、分析して出力してくれる。

これらは、いままではアシスタントに膨大な賃金や外注費を払って作業してきてもらったものである。

50代、60代の現場で活躍するプレイイングマネージャーこそ、AIを手の速い「部下」として駆使できる。

私も、自分自身が現場で活躍できる寿命がAIのおかげで10年、いやもしかすると15年、20年伸びた、と、このわずか3ヶ月ほどで、確信している。

そして、40代、50代くらいのアシスタント層、中間管理職層にとっても、加齢と共にしだいにおっくうになってくる煩雑なルーチン業務に、大幅な時短とストレス軽減を生み出すことができる。

さらに中堅以下のアシスタントとなると、何を実現したらよいのか、またそれを要件定義として言語化する習慣を十分に持たないことが多い。

若者は、しばしば、広範な業務経験の厚みとメタ認知が十分でなく、プログラミング言語によるオペレーションとソリューションの成果物を創造する=出力するための、ロジックの積み上げと出力の経験や習慣がないことが大きい。

やはり、経営トップ層が、オペレーションとソリューションに精通し、ロジックの積み上げと言語化の能力を持っていること、できればプログラミング言語をひとしきり学んで書いたことがあるか、それをAIのプロンプトに落とし込めるか、が決定的に重要になっているような気がする。

外国の上場企業の経営層は、プログラミング言語をある程度扱える人材が普通である。

日本とは段違いである。

今の日本の60歳で、プログラミング言語を理解している者は、ほぼ理系・メーカー人材に限られる。

実は、プログラミング言語は、実はほぼ「英語」であり、英語で意味を取りながら読めば、極めて自然言語と近いのである。

たとえば、COBOL(金融機関のシステム系で現在も多用される)などは、ほぼ英語であり、自然言語に近い。

BASIC 系の言語も、概して、ほぼ自然言語としての英語に近い。

Object Pascal(プログラムツールのDelphiで使われて一世を風靡した)もほとんど英語である。

プログラミング言語は、英語での意味を考えながら読むことで、ほとんど共通語彙であることがわかり、言語を問わず横断的に理解できる。

そして、AIは、全ての多言語をいったん英語に翻訳してから、考える。

AIにとってみれば、自然言語(ほぼ英語)に近いプログラミング言語、たとえばスクリプト系言語やエディタのマクロなどは、どれも共通語彙や共通概念だらけであるから、AIからしたら各プログラミング言語は、「自然言語より語彙が少ない、使用ルールが明確な、英語の方言」に過ぎず、実は極めて習得が容易である。

AIは、データベース言語も、PHPは当然正確に出力してくれるし、AdobeのColdFusionすら、簡単に書いてしまう。MySQLも、データベース定義などを丁寧に出力して教えてくれる。

レンタルサーバーのPHPMyAdminの使い方まで、Claudeに質問しながらだと、だいたいのエラーやトラブル解決、データベースのバージョンアップまで、自力で進めてしまう。

Google検索していても出てこないコーディング上、システム管理上の解決策でも、AIに尋ね、2~3回工夫して質問と試行錯誤を重ねたら、ほぼ適切な回答が出力されて、障害をクリアできてしまう。

広く普及して使われているプログラミング言語ほど、AIは正確に記述できる。使われている言語ほど、インターネット上に大量にあるソース(レファレンスやコード例)をAIが吸収して「言語」の一つとして学習しているからだろうと思われる。

AIを使っていてなにが便利か、またAIのさまざまな機能の側面に対する理解は、ほんとうに人それぞれである。

私にとっては、AIが、自然言語でやりたいことを要件定義をしたらあっという間にマクロやVBScriptを組み合わせて透明性のあるプログラミングして実現してくれる、というのは、本当に有り難い。

私は、弁護士業務をしていて、法律判断業務のアシスタントとしても、また法律判断以前の事実分析や事実整理としても、リサーチとしても、純然たる事務処理としても、週に何度となく、AIにソースを放り込んだり長長しいプロンプトをざっと打ち込んで、その都度違ったソリューションを実現するようになっている。

弁護士としての業務に限らず、事務所全体のパラリーガルや庶務的な業務にもわたって思いつくまま処理を試みているので、バリエーションが多くて、共有はするものの、いちいち全部は説明できなくなっている。

インターネット上では、「役に立つプロンプト集」というものが、若いコンサルタントなどによってもっともらしく配布されているが、ほとんどのプロンプト集は、見ても底が浅くて、「具体的な処理の要件定義」といえるようなレベルではないのが残念である。但し、それでもそれを使わないよりは使ったほうが役には立つのかもしれない。

結局は、「業務を細部まで要件定義する力」「オペレーションとソリューションを部下相手・AI相手によらず言語化して指示する力」を持つ者は、AIで飛躍的に楽をするが、それができない者には、AIは、ただの便利な質問マシン、あるいは話し相手に落ちてしまうのかもしれない。

私は、Chat GPTを、この2年来、ときどき使っては、「曖昧で不正確すぎて使えない」と思って投げ出してきたが、2025年に、Perplexity(というよりそのClaudeエンジン)、NotebookLM、Geminiで、ようやく、「使える道具」になったと感じて、本格的に使うようになった。

それでも、Geminiであっても、ハルシネーションには毎度のようにうんざりする。

結局、裁判例も、法令やガイドラインも、正しいオリジナルのリソースに当たり直して、直接にリソースを確かめないことには、リサーチは進まない。

ただし、そこまでの面倒なプロセスが、(法律実務家用のAIではなく)汎用AIによって、飛躍的に合理化されるようになった。

なにより、大人が仕事に使えて楽しめるオモチャである。

もともと、プログラミングは仕事に役立つ大人のオモチャの最たるものである。

経験の厚みと洞察力は冴えても細かい作業やプログラミングに疲れ、作業速度の効率も落ちる50代~60代といった年代層にとって、AIは、身体が生き返るようなサポート感と、ソリューション実現の知的興奮を与えてくれる。

AI、ありがとうございます。私にあと15年、20年の現役延長を下さいまして。と手を合わせるこの頃である。