Hidemaru Q and A

第III部〜秀丸マクロのいろはにほへと
 マクロを実行してみよう


●マクロを実行してみよう


【0】ここに書いてあること
【1】導入前の準備
【2】個々のマクロの導入
【3】一番原始的なマクロの実行
【4】マクロ登録
【5】ショートカットキーへの登録
【6】ツールバーからマクロ起動
【7】ユーザーメニューからマクロ起動
【8】サンプルマクロ

【0】ここに書いてあること

 秀丸の大きな魅力の一つに「秀丸マクロ」の存在があげられます。マクロというのは、一種のプログラムで、これを利用することにより、秀丸の上で行う作業を自動化したり、秀丸の機能を拡張したりと、秀丸をより便利に使うことができます。マクロは自分で作ってもよいし(実際、単純なマクロを組むのはそれほど難しいことではありません)、人の作ったものをなんらかの方法で入手してもいいでしょう(注1)。なお、手元に適当なマクロがない人は、【8】にサンプルのマクロをいくつか用意しておきましたので、それを元に自分でマクロファイルを作って、いろいろ実行させてみましょう。(^_^)

 秀丸のマクロの正体は、秀丸のマクロ言語が記述された「MAC」という拡張子のついたテキストファイルです。以下これをマクロファイルと呼びます。ここでは、マクロ(マクロファイル)を入手してから、それを実際に利用するまでの手順を説明します。

注1: 例えば、以下の場所には多くの秀丸マクロが登録されています。

【1】導入前の準備

 まず、このマクロファイルを格納するためのフォルダを作らなければなりません。秀丸エディタをインストールしたフォルダ(注2)の中に新しいフォルダを作りましょう(注3)。フォルダの名前は任意です。ここでは MACRO というフォルダを作ったことにします。この場合、秀丸エディタ用のフォルダが C:\PROGRAM\HIDEMARU だったら、マクロ用フォルダは C:\PROGRAM\HIDEMARU\MACRO となります。

 次に「その他」→「動作環境」→」パス」→「環境」タブの「マクロファイル用のフォルダ」で設定を行います。タイプミスをするといけないので [参照...] ボタンを押して(注4)、先ほど作成したフォルダを選択してください。先の例では「C:\PROGRAM\HIDEMARU\MACRO」となります。<OK>を選んで設定を終了します。<キャンセル>で終了すると、設定を変更したことにはならないので注意して下さい。

 これで作業は終了です。この作業は最初に1回だけやる必要があります。マクロ用フォルダの名前や場所を変えない限り、この作業をやりなおす必要はありません。

注2: HIDEMARU.EXE があるフォルダです。秀丸をインストールしたフォルダがどこだかわからない場合、自分で探しましょう。方法はいくつかありますが、一番確実なのは普段秀丸を起動するために使っているショートカットのプロパティ(アイコンを右クリックして出るメニューの一番下にあります)の中の「リンク先」を見ることです。さらにここで「リンク先を探す」を実行すれば、実際に秀丸のフォルダを開くことができます。エクスプローラで「HIDEMARU.EXE」を検索するのも手です。
注3: 秀丸の仕様ではマクロ用のフォルダは必ずしも準備しなくてもいいことになっています。この場合マクロファイルは秀丸エディタ用のフォルダの中に直接置くことになります。しかし、マクロファイルの数が増えてくると管理が非常に煩雑になりますし、秀丸のバージョンアップの時などに事故の原因にもなりますので、できるだけ、マクロ専用のフォルダを作ることをお勧めします。
注4: 「マクロファイル用のフォルダ」の [参照...] ボタンは、ver.3.14から実装されています。
ver.3.13以下などで手入力する場合は、フォルダの名前をフルパスで(ドライブ名から)入力します。末尾に「\」は不要です。

【2】個々のマクロの導入(前提:【1】)

マクロファイルは通常、マクロ用フォルダに置きます。

 データライブラリに登録されているマクロの場合は Lha 等で圧縮されている場合がほとんどですから、マクロ用フォルダに展開(解凍)します。添付されているドキュメント等は、そのままマクロ用フォルダに置いておいてもいいですし、別のフォルダに移動してもいいでしょう(注4)。またドキュメント以外の添付ファイルがある場合、それらの中にはマクロの実行に必要なものが含まれている可能性があります。ドキュメント等をよく読んでその指示に従って下さい。

注4: 筆者は、マクロ用フォルダの下に「DOC」というフォルダを作って、その中に移動しています。

【3】一番原始的なマクロの実行(前提:【1】【2】)

「とりあえず実行してみる」には、「マクロ→マクロ実行」を選びます。

ダイアログの中に、【1】でマクロ用フォルダに含まれるマクロファイルのリストが表示されますから、その中から実行したいマクロファイルを選び、ファイル名のテキストボックスの中にそのファイル名が表示されたのを確認してから<OK>をクリックします。これで、そのマクロが実行されます。

【4】マクロ登録(前提:【1】【2】)

 【3】の方法は、マクロを実行する度にリストから選ばなければならないので面倒です。またマクロファイルが多くなってくると、ファイル名だけではどれが何のマクロか分からなくなってきます。そこで、比較的頻繁に使用するようなマクロは「マクロ登録」してしまいましょう。マクロ登録すると、プルダウンメニューからマクロを実行できるようになるほか、ショートカットキーによるマクロの実行(→【5】)、ツールバーのアイコンからのマクロの実行(→【6】)、ユーザーメニューからのマクロの実行(→【7】)なども利用できるようになります。

 まず「マクロ→マクロ登録」で「マクロ登録」ダイアログを呼び出します。マクロ登録では「マクロ1」から「マクロ80」まで80個のマクロを登録することができます。これらは「1〜10」「11〜20」という風に10個づつのグループになっています。ダイアログ左上の「グループ」の項目で、これらを切り替えることができます。

 マクロ登録の基本は「タイトル」と「ファイル名」の指定です。まず「ファイル名」の欄に、セットアップしたマクロファイルの名前を入力します。右側の「↓」ボタンでリストが出ますから、そこから選択すると確実でしょう。次に、任意の「タイトル名」を入力します。このタイトルがプルダウンメニュー等に表示されますので、マクロの機能がすぐにわかるような名前を付けましょう。グループが「1〜10」以外の場合は右上の「グループ名」の欄にも任意の名前を入力して下さい(注5)。作業が終わったらをクリックしてマクロ登録を終了します。

 「1〜10」グループに登録したマクロは、「マクロ」のプルダウンメニューの中にタイトルが表示され、そこから直接起動することができます。「11〜20」グループ以降に登録したものは、プルダウンメニューの中にグループ名が表示されます。グループ名を選択すると、該当するグループに登録されたマクロのタイトルのメニューが表示され、そこからマクロを起動することができます。

注5: ここでグループ名を入力しないと、プルダウンメニューにグループ名が表示されません。また、「1〜10」グループにはグループ名は付けられません。

【5】ショートカットキーへの登録(前提:【1】【2】【4】)

 マクロ登録後、プルダウンメニューを見ると、「マクロ1」から「マクロ9」に登録したものは、それぞれ右側に「Ctrl+1」などと表示されています。これは「文章を入力・編集しているときに、[CTRL]を押しながら[1]を押すと、マクロ1が実行される」という意味です。つまり「マクロ1」から「マクロ9」に登録したマクロは、(何番に何のマクロが登録されているかを憶えてさえいれば)実はプルダウンメニューを表示させなくても呼び出すことができるのです(注6)。このような特定のキーの組み合わせによって、メニューなどを介さずに直接コマンドなどを実行する機能(およびそのキーの組み合わせ)のことを一般に「ショートカットキー」といいます。

 秀丸のショートカットキーは「キー割り当て」と呼ばれていますが、かなり高い自由度でカスタマイズできるようになっており、「マクロ50」までに登録したマクロは任意の(といってももちろんある程度の制限はありますが)ショートカットキーに割り付けることができます。ここでは、マクロ登録したマクロをショートカットキーに割り付ける方法を説明します。

 まず「その他→キー割り当て」でキー割り当てのダイアログを呼び出します。

キー割り当てのダイアログ

左側の「キー」のリストには割り当てることのできるキー(すでにコマンドが割り当てられているキーを含む)の一覧が表示されます。このキーリストの内容は、その下の「Shift/Ctrl/Alt/キー割り当て拡張」のチェックとの組み合わせで変化します。

 キーリストの中から、あるキーの組み合わせを選ぶ(クリックする)と、そのキーに登録されているコマンドが、中央の「コマンド」のリストの中で選択表示されます。「(なし)」が選択表示されている場合、そのキーにはまだコマンドが割り当てられていないということです。コマンド系列ボックス右側の「↓」で表示されるリストからコマンド系列を選び、その下のコマンドリストに表示されたコマンドの一つをクリックして選択表示させることにより、左側で指示したキーに割り当てるコマンドを変更(あるいは新規に設定)することができます。(注7)

 マクロを設定する場合は、キー選択後、コマンドを選択する際に、「メニュー/マクロ」の系列を選び、コマンドリスト中の「マクロ1」から「マクロ50」の中から割り当てたいものをクリックします。例えば「[Ctrl]と[Shift]を押しながら[C]→ マクロ15(に登録したマクロ) を実行」と設定したい場合、まず右下の □Shift(S) と□Ctrl(T) の□をチェック(クリックして□の中に×がついた状態にする)し、次にキーリストをスクロールさせて「Shift+Ctrl+C」をクリックして選択状態にし、次に右上で「メニュー/マクロ」の系列を選んでから、コマンドリストをスクロールさせて「マクロ15:×××××」をクリックすることになります。

 <OK>をクリックして終了すると、登録したキー割り当てが有効になります。

注6: どうやら、Ctrl+1〜Ctrl+9 のキー割り当ては「マクロ1」〜「マクロ9」に固定されているようです。もちろんこれらのマクロを別のキーに「も」割り当てることは問題なくできます。
注7: 順番に注意して下さい。必ず左側で「キー」を選んだ後に、右側で「コマンド」を選ばなければなりません。

【6】ツールバーからマクロ起動(前提:【1】【2】【4】)

 【4】で「マクロ1」から「マクロ10」に登録したマクロに限って、ツールバーのアイコンから起動することができます。

 まず「その他→動作環境→ウィンドウ」タブの中の「□ツールバー」の項目がチェックされていなかったら、これをチェックします。さらにその右の[ツールバー詳細...]ボタンをクリックし、「ツールバー詳細」のダイアログを呼び出します。右側のボックスでコマンド系列に「メニュー/マクロ系」を指定すると、その下のリストに「マクロ1」から「マクロ10」までの(数字のデザインの)アイコンが表示されます。これらは「マクロ登録」で「マクロ1」〜「マクロ10」に割り当てたマクロに対応していますから、適宜選んで中央の[追加]ボタンをクリックすると、左側のツールバーリストの最後尾に追加されます。アイコンの並びは[一つ上に][一つ下に]ボタンで調整します。作業が終わったら<OK>ボタンで終了します。

 これで、メニューの下のツールバーの数字のアイコンから直接マクロを起動できるようになります。

【7】ユーザーメニューからマクロ起動(前提:【1】【2】【4】)

 秀丸には「メニュー1」から「メニュー8」および「選択中右ボタン」という9つのユーザーメニュー(ユーザーが自由に編集できるメニュー)が用意されています。ここに「マクロ1」から「マクロ50」までのマクロを登録することができます。これを利用するためには、「メニューの編集」と「メニューのキー割り当て」の2段階の準備が必要になります。

 まずメニューの編集をします。「その他→ユーザーメニュー編集」で「ユーザーメニューの設定」のダイアログを呼び出します。「メニュー」欄で編集するメニューを選択すると、そのメニューの現在の内容が「内容」のリストに表示されます。[追加...]ボタンで「追加」ダイアログを呼び出します。コマンド系列に「メニュー/マクロ」を指定すると、下のリストに「マクロ1」から「マクロ50」までが表示されます(注8)。メニューに追加したいものをクリックして選択表示させ、「キー」欄に半角英数字1文字を入力します(この半角英数字はメニュー内での一種のショートカットキーになります)。ここで[追加]をクリックすると、「ユーザーメニューの設定」ダイアログに戻るので、「内容」リストの末尾に先ほど指定したマクロが追加されていることを確認して下さい。必要なら並べ替え等をし、[閉じる]で終了します。これでメニューの編集は終わりです。

 「メニュー1」から「メニュー8」の場合、次にメニューのキー割り当てをします(注9)。要領は【5】とほぼ同じです。違うのはコマンドリストから選ぶのが「マクロ」ではなく「メニュー」であるということだけです。

 これで、割り当てられたショートカットキーによりユーザーメニューが表示され、その中からマクロを実行できるようになります。

注8: 実際にはこのリスト中にはユーザーメニューも含まれています。これを「追加」するとユーザーメニューの中にユーザーメニューを登録することになります。これによりユーザーメニューを階層化することができるようです。
注9: 「選択中右ボタン」に限り、「範囲選択中のマウス右クリック」に対応が固定されていますので、キー割り当ての作業は不要です(というかできません)。また、デフォルトの設定では「メニュー1」が「右クリック」に割り当てられているようです(キー割り当てのダイアログで確認できます)。したがってマウスの右クリックメニューからマクロを実行したい場合は、さしあたって「メニュー1」および「選択中右ボタン」に登録するのが簡単でしょう。こうすればキー割り当てで悩む必要はありません。特に「処理範囲を選択してから実行するマクロ」の場合、「選択中右ボタン」に登録しておくと、マウスの左ボタンドラッグで範囲を選択した後、右クリックでメニューを出して、すぐにマクロを実行できるので便利です。

【8】サンプルマクロ

手元に適当なマクロファイルがない方は、次の要領でマクロファイルを作って動かしてみましょう。ただし【1】の導入前の準備は済ませておいて下さい。
  1. 以下のサンプルの中から好きなものを心に決める。(^_^)
  2. Q&A集のウィンドウのメニューの「編集→コピー」を選択する。(多少時間がかかるかもしれません。)
  3. 心に決めたサンプルの「//---ここから」と「//---ここまで」で挟まれた部分をドラッグして選択し「一部分コピー」をクリックする。
  4. 秀丸を起動し(あるいは「ファイル→新規作成」でまっさらな秀丸を用意し)「編集→貼り付け」で先ほどコピーしたものを秀丸にペーストする。
  5. 「ファイル→名前を付けて保存」を選び、下記の名前をつけてマクロ用フォルダ(【1】参照)に保存する。

●サンプルマクロその1

「カーソル位置に現在日時を挿入するマクロ」

保存時のファイル名は QA_SMPL1.MAC としてください。

//---ここから
//QA_SMPL1.MAC
insert date + " " + time;
endmacro;
//---ここまで

●サンプルマクロその2

「編集中のテキストの末尾に『自分の名前』をの行を挿入するマクロ」

保存時のファイル名は QA_SMPL2.MAC としてください。
「自分の名前」のところは任意の文字列(ただし「vや「"」を含まない)に置き換えることができます。

//---ここから
//QA_SMPL2.MAC
gofileend;
insert "\n" + "自分の名前" + "\n";
endmacro;
//---ここまで

●サンプルマクロその3

「改行のみの行が連続していたら1行に置換するマクロ」

保存時のファイル名は QA_SMPL3.MAC としてください。

//---ここから
//QA_SMPL3.MAC
gofileend;
replaceup "^\\n\\n+", "\n", regular;
while (result) findup;
endmacro;
//---ここまで

このマクロの意味の詳細は、第IV部〜テキスト編集を極める!! 正規表現について【5】 (補足) 秀丸上での複数行にまたがる検索について を参照してください。

●サンプルマクロその4

「空白(全角スペース、半角スペース、タブ)のみからなる行を改行のみの行に置換するマクロ」

保存時のファイル名は QA_SMPL4.MAC としてください。

//---ここから
//QA_SMPL4.MAC
replaceall "^[  \t]+$","", regular;
endmacro;
//---ここまで

※このマニュアルは秀丸 Ver.3.08 の仕様を元に書かれています。秀丸のバージョンによっては、必ずしもここに書かれている内容の通りとは限りません。


目次に戻る