公開しているマクロ

top秀丸エディタマクロ

update : 2024/03/31 (Sun)

1 目次

CompleteX関連

持ち出しキット関連

他のマクロから呼び出して使うマクロ

2 公開しているマクロ

2.1 秀丸マクロ文法チェックマクロ(Grammarcheck.mac)

秀丸マクロの文法チェックマクロです。チェックしたいマクロを開き実行して下さい。使用している秀丸エディタのバージョンにより実行するマクロが異なるので注意してください。

動かないマクロにして秀丸エディタ本体に実行させているだけです。 (秀丸エディタのマクロはコンパイルするタイプなので、下記のような方法をとっています)

  • Grammarcheck.mac(Ver.9.19用)

    動作原理

    1. 編集中のマクロと同じエンコードで「endmacro;」だけの一時ファイルを作成
    2. 一時ファイルに、編集中のファイルを追加保存
    3. 一時ファイルを「execmacro文」で実行。
    4. エラーがあるならエラーが出て停止、エラーがなければ一時ファイルを削除して終了。
  • Grammarcheck.mac(Ver.8用)

    動作原理

    1. 編集していた場合、ファイルを保存する。
    2. 一時ファイルをステルス秀丸で開き、保存したフィルを読み込み、エンコードも元ファイルに合わせる。
    3. 一時ファイルの先頭に「endmacro;」を挿入し保存。
    4. 一時ファイルを「execmacro文」で実行。
    5. エラーがあるならエラーが出て停止、エラーがなければ一時ファイルを削除して終了。
  • Grammarcheck.mac(Ver.7用)

    動作原理

    1. 「すべて選択」し「コピー」。
    2. 一時ファイルをステルス秀丸で開き、「貼り付け+履歴戻し」。
    3. 一時ファイルの先頭に「endmacro;」を挿入し保存。
    4. 一時ファイルを「execmacro文」で実行。
    5. エラーがあるならエラーが出て停止、エラーがなければ一時ファイルを削除して終了。

目次へ

2.2 一時的に違う設定にするマクロ

通常、指定している設定を、一時的に違う設定に変更するマクロです。例えば".txt"を".mac"の設定にする等。設定を変えたいファイル上で実行して下さい。

「ファイルタイプ別の設定」から変更して「保存しないで更新」を行う場合と同じ状態となります。

2.2.1 拡張子で指定

「使用する設定の拡張子」を、問い合わせるダイアログが表示されるので、拡張子を入力してください。

バックアップ等でファイルの拡張子が変更された場合に使える?

  • reopen_ext.mac 秀丸エディタ Version.5.11未満用 更新予定無し

    ファイルを変更している場合、ファイルを保存し、開き直す必要があります。

  • reopen_ext.mac 秀丸エディタ Version.5.11以降用(2006/11/05)

    ファイルを変更していても、そのまま変更可能。

2006/11/04 Version.1.2.0
  • "共通"を指定できるようにした。
  • レジストリアクセス失敗や、拡張子設定がない場合、 "共通"の設定を使うかどうか問い合わせるようにした。
2006/01/29 Version.1.1.0
秀丸Ver.5.11から追加された"configset"を使うようにした。これにより保存しなくても変更が可能。ステルス秀丸も不要。

2.2.2 設定名で指定

設定のリストをメニュー表示し、変更を行います。ファイルを変更していても、そのまま変更可能。

2006/01/29 Version.1.0.0
  • 初版
2006/11/04 Version.1.1.0
  • "共通"を指定できるようにした。
2007/11/15 Version.1.2.0
  • 空白を含むパスの場合、正常に動作していなかったバグの修正。
  • 設定の列挙に使っている正規表現が、間違っていたので修正。
2013/07/08 Version.1.3.0
  • レジストリの列挙方法を変更。レジストリエディタのエクスポート機能を使うのを止め、 VBSから、WMIで経由で列挙する様に変更。 (UACで、レジストリエディタの起動に失敗する為)
2013/07/09
  • 持ち出しキット使用時は、"HmRegIni.ini"から、データを作成するように修正。

目次へ

2.3 Urlショートカット作成マクロ(make_url.mac)

選択したURLのショートカットを作成するマクロです。 URLの正当性等は一切考慮していないので選択範囲に不要な文字を含まないようにして下さい。複数のURLがあっても大丈夫なハズです。

URLを選択して実行するとファイル名を聞いてくるので、ファイル名を入力すれば作成されます。

出力先は

  1. デスクトップ
  2. お気に入り
  3. 任意のフォルダ

を指定できます。(設定は直接マクロを編集して下さい。)

ステルス秀丸を使用している都合上、秀丸メールでは動きません。

目次へ

2.4 htmlからtextを取得するマクロ

2012/05/26 "オブジェクト取得(IEその2)に失敗"が出るようになったので、wait調整

現在のファイルか、指定されたファイルまたはURLからテキストを取得します。

  • ".html"や".htm"の場合はそのファイル。
  • ブラウザモードの場合は表示しているURL。
  • その他の場合はファイルかURLを問い合わせ。

マクロで処理しているわけではなく、秀丸エディタVer.8から追加されたCOM操作機能を使用し、インターネットエクスプローラが処理しています。

秀丸エディタ Ver.8以降専用

秀丸エディタ Ver.7で動作するバージョン

  • html_to_text.mac

    圧縮ファイルの内容

    html_to_text.mac
    html2text.vbs を起動するための秀丸マクロ
    html2text.vbs

    IEの制御を行うWSH。単独でも使用可能(cscript.exeから起動すること。) html_to_text.mac と同じ場所に置いて下さい。
    Windows Vista + IE7以降 の組み合わせでは、html2text.vbsを以下のものと、入れ替えてください。 (保護モードが有効(デフォルトは有効)の場合は、入れ替える必要があります。)

目次へ

2.5 「お気に入り」をメニュー表示して開くマクロ

2010/06/07 Ver.1.4.1へバージョンアップ


確認している不具合のような現象
「お気に入り」をメニュー表示して開くマクロをWindowsXPで使用している場合、メニュー表示中に、秀丸本体側のメニューバーが真っ白になる。
 --> 田楽DLLメモ秀丸本体のメニューが白くなるのページを参照。


もともとは秀丸エディタ Version 4.10で対応した「Hidemarnet Explorer 」からインターネットエクスプローラの「お気に入り」を開く為に作成したのですが、作っているうちに当初の目的だったURLだけではなく、ローカルファイルやフォルダ等も、開けるようになりました。また、マクロやプログラムの実行も可能です。

つまり、よく使うファイル、フォルダ、マクロ、プログラム、URLを登録したメニューを表示し、開いたり実行するマクロです。メニュー方式のランチャーの一種?

実行には「田楽DLL Ver.2.97」が必要です。

Version 1.3.0β4から設定ファイルの置き場所が変更になってます。注意して下さい。

web_fav_menu.mac の説明(変更履歴)

  • メインのメニュー画面
    web_fav_menu画面

  • お気に入り登録
    メニュー(ブラウザから情報取得は設定によっては表示さません。)
    web_fav_make画面 メニュー

    [File:]、[URL:]ボタンを押すと、ファイル名とリンク先を変更することができます。
    web_fav_make画面 設定画面

  • web_fav_menuの設定変更
    web_fav_setup画面

2.5.1 旧バージョン

マクロやプログラムの実行、フォルダを開く機能がなく、「お気に入り」をメニュー表示するだけのバージョンです。

お気に入りを開くマクロ

目次へ

2.6 window関連のマクロ

何となく勢いだけで作った秀丸エディタのウィンドウ操作を行うマクロです。

実行には田楽DLLが必要です。

マクロの詰め合わせ。圧縮ファイルには以下のファイルが格納されています。

window_arrangement.mac    ウィンドウ並び替えマクロ
window_hide.mac           非表示にするマクロ
window_list.mac           ウィンドウを切り換えるマクロ
window_restore.mac        ウィンドウ並び替えマクロで並び替えたものを元に戻すマクロ
window_show.mac           非表示ウィンドウを表示するマクロ

window関連マクロセット の説明

目次へ

2.7 ファイルコンペアの補助マクロ

秀丸エディタから、ファイルを比較するソフトを起動するマクロです。ファイルの比較を行うマクロではありません。

注意:秀丸エディタ単体で、ファイル比較ができないという事ではありません。 Ver.8からカラーマーカーを使用し、ファイルの差異がある個所に着色して、表示する事が可能になっています。
参考:秀丸エディタの紹介(Ver8.00対応版)(内容比較のカラー化)
関連マクロ:「他の秀丸エディタと内容比較」を行ったウィンドウを並べるマクロ

実行には以下のようなファイル比較ソフトが必要です。(比較するファイルを起動オプションとして渡せればどれでも動作します。)

Vectorで探せばいろいろとあるので、自分の好みで選んでください。

[FC_open.mac]

  • 2006/07/08 Ver.1.1.1 ・newだけでなく、grep、exeresult、webbrowseも無視するようにした。

マクロの詰め合わせ。圧縮ファイルには以下のファイルが格納されています。

FC_open.mac         現在秀丸エディタで開いているファイルと比較する。
                    ファイルが1つしかない場合、"FC_selectfile.mac"があれば起動する。
FC_selectfile.mac   現在のファイルと選択したファイルを比較する。
FC_selectfiles.mac  FC_selectfile.mac の複数選択可能バージョン。要田楽DLL。
FC_SelectWindow.mac FC_open.mac の複数選択可能バージョン。メニューではなくダイアログ表示を行う。要田楽DLL。

"FC_open.ini"をマクロと同じ位置に作成し、ファイル比較プログラムを指定してください。

;FC_open.iniの例
;実行ファイルのパスを設定
[setting]
fc_exe=C:\Program Files\Microsoft SDK\Bin\WinDiff.Exe
Mulit=0    ;fc_exeで指定したプログラムが3ファイル以上比較できるソフトなら"1"にする。

;fc_exeで指定したプログラムが3ファイル以上比較できれば指定する必要はない
Mulit_EXE=3ファイル以上比較できるソフトのパス(Mulit=0時のみ有効)

目次へ

2.8 フォルダー履歴表示マクロ

フォルダー履歴を表示するマクロです。タスクトレイ(常駐秀丸エディタ)までマウスを動かす必要がないから多少便利?

目次へ

2.9 単語の先頭のみ大文字に変換

単語の先頭のみ大文字に変換するマクロです。カーソル位置の単語か範囲選択内の単語を変換します。(箱形選択中は出来ません。)

単語の定義と単語の区切りと見なす文字列を変更するにはマクロを編集する必要があります。

デフォルトの設定

単語の定義
$word = "[A-Za-z_]+{2,}"
英単語の区切りと見なす文字列
$separte = ",./+-;:<>()[]=~|$#%&'\"@ \t" + char(0x0d) + char(0x0a);

動作例(画像は開発中の物です。実際動作と異なってます。)

  • 実行前
    capitalize実行前

  • 実行後
    capitalize実行後

動作の説明

|”はカーソル位置を示します。

カーソル位置が区切り文字でない場合は区切り文字を探して上(前)方向へ進みます。
  1. HIDEM|ARU EDITOR
     マクロ起動時のカーソル位置
  2. |HIDEMARU EDITOR
     区切り文字を探して上(前)方向へ
  3. hidemaru EDITOR
     区切り文字の次の位置から下検索し、マッチした範囲を小文字へ
  4. Hidemaru EDITOR
     マッチした先頭1文字を選択し大文字へ
  5. Hidemaru| EDITOR
     マッチした最期の位置へ移動
カーソル位置が区切り文字の場合は区切り文字以外を探して下方向へ進みます。
  1. Hidemaru| EDITOR
     マクロ起動時のカーソル位置
  2. Hidemaru |EDITOR
     区切り文字以外を探して下(後)方向へ
  3. Hidemaru editor
     区切り文字以外の位置から下検索し、マッチした範囲を小文字へ
  4. Hidemaru Editor
     マッチした先頭1文字を選択し大文字へ
  5. Hidemaru Editor|
     マッチした最期の位置へ移動

範囲選択時に実行した場合、範囲内に含まれる単語も対象になります。 (動作例の範囲選択の最初と最後をよく見て下さい。)

目次へ

2.10 秀丸マクロサブルーチンジャンプ

秀丸マクロ専用のサブルーチンへ移動するマクロです。 call文がある行で実行すると、画面を分割し下の画面にサブルーチンを表示します。

マクロには以下の設定があります。

//分割の割合
#splithight1 = 1;
#splitHight2 = 2;
//設定 マクロ起動位置を上段に表示するようにするか
//0:表示しない 1:表示
#callview = 1;
//設定 #callviewが"1"の場合表示する位置
//0:上段先頭 1:上段中央 2:上段最期 -X:上段先頭からのオフセット
#viewpos = 1;
  • 実行前
    秀丸マクロサブルーチンジャンプ実行前

  • 実行後
    秀丸マクロサブルーチンジャンプ実行後

目次へ

2.11 タブグループ対応ウィンドウ一覧

タブグループに対応した(?)ウィンドウ一覧を表示するマクロです。非タブモードでは通常のウィンドウ一覧を表示します。

このマクロの実行には、「田楽DLL」が必要です。

秀丸エディタは Ver.5.0β31以降が必要です。

2007/03/04 Ver.1.1.1
  • タブモード時に、非表示及び、"このタブを最小化"したウィンドウもリストに表示するようにした。
2009/04/26 Ver.1.2.0
  • ダイアログ幅をファイル名の長さに合わせ、自動調節するようにした。(min:60 max:windowwidth)

マクロの先頭にタブグループを展開する/しないの設定があります。(実行画面は展開するに設定)また、表示部分(ツリービュー)の高さを変更可能です。

00011|//ダイアログ表示時に全てのタブグループを展開する場合は1、しない場合は0
00012|//マクロを起動したタブグループは設定にかかわらず展開
00013|#NODE_OPEN = 1;
00014|//ツリービューの高さ
00015|#DIALOGHEIGHT = 15;

window_tablist.mac実行画面

目次へ

2.12 まとめて閉じるダイアログ

開いているファイルを「まとめて閉じる」為のダイアログです。

 IKKIさんの作成したマクロ「まとめて閉じるダイアログ」の改造版になります。

このマクロの実行には、

が必要です。秀丸本体と同じ場所、マクロフォルダ、CloseDialog_ex.macと同じ場所のいずれかに、 DLLがある必要があります。

2006/09/01 Version 1.03b
  • 同梱する ht_tools.dll を 1.18.00 → 1.18.01へ
2006/04/23 Version 1.03a
  • 同梱する ht_tools.dll を 1.17.00 → 1.18.00へ
2005/09/19 Version 1.03
  • 機能的に一段落したのでバージョンのみ変更
  • ht_tools.dll Version up 1.17.00へ

閉じるダイアログ

目次へ

2.13 あふから秀丸エディタに移動するマクロ

2画面ファイラーであるあふから秀丸エディタに移動するマクロです。(秀丸エディタを呼びだす機能を、秀丸エディタのマクロを使って実現してます。)

  • 最期にアクティブだった秀丸エディタに移動 afx_call.mac
  • ファイルを選択して秀丸エディタに移動 afx_call_menu.mac

注意 あふから秀丸エディタに移動する(秀丸エディタをアクティブにする)ためのマクロです。秀丸エディタが起動していない場合は、何もしません。(新規の秀丸エディタは起動しません。)

2.13.1 設定方法

マクロをマクロフォルダにいれ、ステルス状態で、マクロを実行するように指定してください。

  • Hidemaru.exe /h /x afx_call.mac (/h --> ステルスで実行 /x --> マクロを実行)

私はメニュー定義ファイルを使ってます。(秀丸エディタは環境に合わせてフルパスで指定してください。)

afx 秀丸メニュー
"秀丸に移動"                  Hidemaru.exe /h /x afx_call.mac
"ファイルを選択して移動"      Hidemaru.exe /h /x afx_call_menu.mac

目次へ

2.14 ビューア機能付きgrep

grep出力を元にマッチしたファイル内容を表示するマクロです。(WZGREPもどきマクロです。)


秀丸エディタ Ver.8対応版

grep_view.mac Version 1.3.2 (2013/07/11)

実行には秀丸エディタ Ver.8.00β1 以降が必要です。


秀丸エディタ Ver.7対応版

grep_view.mac Version 1.2.4 (2009/08/23)

実行には秀丸エディタ Ver.6.00β9 以降が必要です。田楽DLLがあれば使用します。なくても動作自体に問題はありませんが、マクロ実行中はCPUをフルに使うことになります。(田楽DLLがあると低減されます。) 田楽DLLは以下の場所から入手してください。

「田楽DLL」:M. Sugiura Personal Web Page


2013/07/11 Version 1.3.2
  • grep結果が最大化されていた場合、そのまま実行していた為、ビュー画面が見えない。grep画面は、通常表示で実行するように修正。
2012/11/01 Version 1.3.1
  • 秀丸エディタVer.8.30β6で警告が出るので対処
2009/08/23 Version 1.3.0
  • 正式版 Version 1.3.0β1からの変更なし
2009/08/23 Version 1.3.0β1
  • 秀丸エディタ Ver.8対応
  • 田楽dllを使用しないようにした。
2009/08/23 Version 1.2.4
  • 正式版 Version 1.2.4β2からの変更なし
2008/02/10 Version 1.2.4β2
  • filetypeが"grep"以外でも動作させる、#def_mode = 4 を追加。
  • マクロ実行中はツールバー、ステータスバー、ファンクションキー表示を消せるようにした。
  • 浮いていない「アウトライン解析の枠」も閉じれられるようにした。
2007/12/24 Version 1.2.4β1
  • 重複しているコードの削除
  • grep結果のフルパスかどうかの判定を、毎回行うようにした。
  • grep画面で、「アウトライン解析の枠」が「浮かす」になっていた場合、マクロ実行中は閉じるようにした。
  • grepの設定で、「ファイル名一覧だけ作成」の場合でも動作するようにした。
2007/06/30 Version 1.2.3
  • 場合によっては、最終行までカーソル移動が出来なくなる不具合の修正
2006/06/10 Version 1.2.2
  • 同じファイルを既に開いていた場合の処理を、レジストリ書き換えから、 setcompatiblemode文を使用する方式へ変更。
2006/04/08 Version 1.2.1
  • キャンセルした場合、新規秀丸を閉じるようにした。
  • 設定に#waitを追加
  • 設定の位置を履歴の前に移動
2006/04/06 Version 1.2.0a
  • 設定部分タグジャンプの位置を変更していなかったので修正。
2006/03/24 Version 1.2.0
  • grep側も、カーソル位置が、なるべく画面の中心になるようにした。 Ver.6.0β9以降が必要。
2005/12/17 Version 1.1.0
  • return(enter)キーでマクロの終了&tagjumpするようにした。
  • #def_modeもgrep_view.iniから読むようにした。
  • 横に並べる、縦に並べるをマクロで行うようにした。
  • ウィンドウの並びを途中でも変更できるようにした。数字キーで切替。設定値と違い、1~4を使う。
  • #def_modeに"3:現在の行から表示"を追加
  • Shiftを押しながら終了(Esc or Enter)した場合、画面を元に戻さないようにした。
  • 同じファイルを既に開いていた場合の処理を、ファイルを開くときでなく、grep実行後に変更。
    副作用として、このマクロ実行中に既に開いているファイルを開くと、通常と違い、上書き禁止で開くことになる。
  • #viewとハンドルが一致しない場合、閲覧モードにならないようにした。
2005/11/27 Version 1.0.1
  • grep_view.iniが存在した場合、設定を読み込むようにした。マクロの直接編集よりも優先。

    現状、設定は以下の3つ
    ウィンドウ配置
    ビューアウィンドウの高さ
    マクロ終了時のビューア処理
    iniファイルの例
    [setting]
    WindowMode=0
    ViwerHeight=350
    view_close=0
2005/11/25 Version 1.0.0

サポート会議室に投稿した内容から、以下の変更を行ってます。

  • 起動した秀丸のfiletypeをみてgrepダイアログを表示するか判断。
  • grep結果から実行した場合の動作を指定可能にした。
  • 中断した場合や、見つからなかった場合の処理を追加。
  • ビューア画面で、マッチした行をなるべく画面中央になるようにした。
  • タブ時のビューア画面処理を変更。最初から単独ウィンドウへ。終了時の処理も変更。
  • ファイル名と行番号の解析方法を変更。秀丸本体の検索を使用しない。

ビューア表示その1(横に並べる)
横に並べる
ビューア表示その2(縦に並べる)
縦に並べる

目次へ

2.15 ファイルヒストリダイアログ

ファイルヒストリの内容を表示するダイアログです。普通のファイルヒストリと違うのは、複数選択が可能な事です。

実行には田楽DLLが必要です。(要Ver.2.83) ソート機能を使うには、変換モジュールライブラリのソートが必要です。

2012/12/23 Version 1.3.0
  • CheckListDialogのバージョンアップ
2006/05/05 Version 1.2.1
  • バグ修正
    • ソートモード0(ソートしない)が設定できなかった。
    • 全選択が機能していなかった。
2006/01/19 Version 1.2.0
  • 田楽でもソートon/offができるようにした。
2006/01/15 Version 1.1.0
  • ソート機能追加
2006/01/08 Version 1.0.0
  • 初版

目次へ

2.16 カーソルup・downマクロ

エディタ画面の半分で動作の変わるup、downコマンドです。画面半分までは通常の動作ですが、半分を過ぎるとカーソル位置を固定し画面をスクロールさせます。

秀丸エディタのVer.6が必要です。(2006/07/30現在β版)

_down.mac
下移動マクロ(画面半分より下に移動しない。)
_up.mac
上移動マクロ(画面半分より上に移動しない。ただし、ファイル先頭の場合は上へ移動する。)
2006/07/30 Version 1.0.0
  • 初版

目次へ

2.17 行番号を追加してコピー

選択された範囲を行番号を追加して、クリップボードにセット、または新規ファイルを開いて貼り付けるマクロです。折りたたみがある場合、折りたたんだ状態でコピーしたり、展開してコピーすることもできます。

add_lineno_fold.mac実行画面

2.17.1 行番号を追加してコピーするマクロの仕様

  • 行番号の桁は、デフォルトで5桁。デフォルトをこえる場合、今の桁数+1。
  • タブ(0x09)は半角スペースに変換。
  • 新規ファイルを開いて貼り付ける場合、元のファイルと同じ設定にします。(一時的設定)
  • 行番号は、エディタ的にカウントします。(折り返しはカウントしない)

2.17.2 行番号を追加してコピーするマクロの設定方法

デフォルトの設定を変えるには、マクロを直接編集してください。

00020|//折りたたみの出力状態を設定
00021|// 0:折りたたみを展開してコピーする
00022|// 1:折りたたんだ状態でコピーする
00023|#fold = 0;
00024|
00025|//出力先の設定
00026|// 0:新規ファイル
00027|// 1:クリップボード
00028|#clipbord = 1;
00029|
00030|//先頭にファイル名を追加するかどうかの設定
00031|// 0:追加しない
00032|// 1:ファイル名のみ
00033|// 2:フルパス
00034|#add_filename = 1;

また、execmacro文 から、引数を渡すことで、動作を変更する事が出来ます。

配布ファイル内にある、「 add_lineno_foldselect.mac」は、メニューを表示し、折りたたみを展開する/しないを選択可能なマクロです。

2.17.3 行番号を追加してコピーするマクロの履歴

2006/08/06 Version 1.0.0
  • 初版
2007/02/15 Version 1.0.1
  • タブ-->空白変換用変数作成部を変更
2011/03/17 Version 1.0.2
  • 座標取得方法を変更
2011/12/17 Version 1.0.3
  • 終了座標の計算を変更。
  • タブ-スペース変換を変換モジュールで行うように変更。
2012/02/09 Version 1.1.0
  • 先頭にファイル名を追加可能にした。
  • 新規ファイルの場合、エンコードを同じにするように修正。
2012/02/11
  • 起動オプションを追加
  • add_lineno_fold.mac と統合

目次へ

2.18 拡張子別に自動起動マクロを切替

秀丸エディタ Ver.6.00から追加された自動起動マクロ(ファイルを開いた直後)を、拡張子別に切り換えます。

2.18.1 ファイルを開いた直後

このマクロを使用することにより、

  • 拡張子別に実行するマクロを切り替える。
  • 複数のマクロを実行する。
  • 一時的に実行する、しないを切り替える。

という事が可能です。

実行マクロである"AutoOpen.mac"と、設定用の"AutoOpenSetup.mac"があります。実行前に、"AutoOpenSetup.mac"を実行し、設定を行ってください。 "AutoOpenSetup.mac"の実行には田楽DLLが必要です。

AutoOpen.mac Version.1.0.0(2006/10/28)

AutoOpen.mac

2006/10/28 Version 1.0.0
  • 正式版として公開
2006/08/17 Version 1.0.0β1
  • 動作するようになったので、とりあえず公開

AutoOpenSetup.mac

2006/10/28 Version 1.0.0
  • 正式版として公開
2006/08/19 Version 1.0.0β2
  • 田楽dllのロード部分を見直し
  • マクロの追加で複数選択した場合の処理追加
2006/08/17 Version 1.0.0β1
  • 動作するようになったので、とりあえず公開

AutoOpenSetup.mac実行画面1 AutoOpenSetup.mac実行画面2

目次へ

2.19 howmマクロ

Emacsで使用されているhowmの秀丸マクロ版です。

ベースになっているのは以下のページにあるマクロです。

上記マクロとの違い

  • Windows9xでも動く。"cmd.exe"決め打ちだったのを、環境変数COMSPECから取得するようにした。
  • 一時ファイルの作成場所を、環境変数TMP or TEMPから取得するようにした。(まぁ、別の問題が出てきたが・・・)
  • ステルス秀丸の使用を低減させた。(改良になっているか、改悪になっているかは不明)
  • "howmx.exe"があれば使うし、なくても動作するようにした。
  • 気になる箇所を修正。
  • "0000-00-00-000000.howm"はShift_JISに変換してから使ってください。

メニューの高速化を行うhowmx.exeが、一部環境でうまく動かない事があるようです。 PARがバージョンパップしていたので、howmx.exeを再作成してみました。(スクリプトは変更していません。) 問題のない場合は、あらためてダウンロードする必要はありません。ついでにコンソール非表示バージョンを作ってみました。必ず通常版で動くことを確認後、コンソール非表示バージョンを使うようにしてください。

2007/01/04にhowmx.plが変更されたので"howmx.exe"を更新。(マクロに変更なし。) 実行してもコマンドプロンプトが表示されないので、そのままでも問題ないかな?

2007/01/04版

Perl Packager, version 0.17 (PAR version 0.959)

  • howmx.exe 通常版(2007/01/04版)
  • howmx.exe コンソール非表示バージョン(2007/01/04版)

howm.mac 2017/01/08版

履歴

Ver.0.5-20060927-01
  • TODOリストからジャンプできない不具合修正
Ver.0.5-20061001-01
  • howmx.exe実行中は、タイトルバーに表示するようにした。
  • メニュー作成時の動作を変更
Ver.0.5-20061006-01
  • ComeFrom解析部分を見直し。
  • 強調表示の操作部分を"一時的設定"にしていたが、設定を保存するようにした。
  • hilightファイルの関係で、秀丸エディタVer.6.00以上でしか動きません。
Ver.0.5-20070213-01
  • 関連づけで起動する機能を追加。もともと秀丸の機能にあるけど、~の展開と">>>"から行末までをファイル名として起動する。
    • $check_extに"."をつけて、";"で区切り、拡張子を追加すること
    • ".pdf"はページ番号指定もサポート ~.pdf 3 --> ~.pdf の3ページを開く
    • アクロバットでページ番号を指定して開く場合は、パスを$ACROBATに入れること。 $ACROBATが空の場合は、ページ指定無しで起動する。
Ver.0.5-20070914-01
  • howm.hilightが存在しない場合、エラーになってしまうのを修正。
Ver.0.5-20170108-01
  • 秀丸エディタ Ver.8系に合わせ各部を修正(修正した動作以外は変わっていないハズ。)
  • howm.hilight 周辺を修正。
    • VirtualStore が有効の場合、秀丸エディタ本体のあるフォルダに howm.hilightファイルがあると、編集時に切り替えに失敗していたのを修正。

    • howm.hilightファイルは、

      1. 秀丸エディタ本体のあるフォルダ
      2. 秀丸エディタ設定ファイル用フォルダ
      3. マクロフォルダ
      4. "howm.mac"があるフォルダ
      5. howmフォルダ($dir_howm)

      から検索するようにし、見つからない場合は、howmフォルダ($dir_howm)に作るようにした。 howm.hilight は、"C:\Program Files"以外に配置する事をお勧めします。

ちなみに、私自身Emacsを使ったことないので、howm自体良くわかってません。他の人が、改造する時の参考にでもなれば、幸いです。

2.19.1 メモ

  • 強調表示を操作するので、拡張子".howm"の設定を作った方がいいでしょう。
  • 一覧表示を実行したときに、ビューア機能付きgrepを実行すると便利かも。

目次へ

2.20 メモ帳互換日付追加マクロ

Windows標準のメモ帳にある、日付追加機能の秀丸マクロ版です。マクロの自動起動で「ファイルを開いた直後」に、このマクロに指定してください。

使い方はメモ帳と同じです。(変更は可能)

  • ファイルの先頭に、".LOG"と書き込む。
  • ファイルを開いた時、ファイルの先頭に".LOG"があると、ファイルの最期に、開いたときの日時を追加します。

先頭にあるべき文字と、追加される日付形式を変更するには、マクロを直接編集します。

先頭にあるべき文字:$TopWord

00005|//ファイルの先頭にあるべき文字列を指定する。
00006|$TopWord = ".LOG";

挿入される日付形式:$AddString

00011|//追加する日時のフォーマット
00012|//標準では → 09/08/22(土) 09:20:49 の形式
00013|$AddString = date + " " + time;

ht_tools.dllを使うと、strftimeと同じ(?)書式が使えます。 ht_tools.dllを使う場合、#UseDLL = 1;として下さい。 DLLはマクロと同じ場所、マクロフォルダ、秀丸エディタと同じフォルダの何処かに置いてください。日付のフォーマットは、DLLのドキュメントを参照してください。

00015|// ht_tools.dllを使えば、strftimeと同じ(?)書式が使えます。
00016|// ht_tools.dllを使う場合は、#UseDLL = 1; にして下さい。
00017|#UseDLL = 0;
00018|if(#UseDLL){
00019|    loaddll currentmacrodirectory + "\\ht_tools.dll";
00020|    #ret = result;
00021|    if(!#ret) loaddll macrodir + "\\ht_tools.dll";
00022|    #ret = result;
00023|    if(!#ret) loaddll hidemarudir + "\\ht_tools.dll";
00024|    #ret = result;
00025|    if(#ret == true ){
00026|        //                                    ↓日付のFormatはここを変更すること
00027|        $AddString = dllfuncstr("TimeFormat", "%Y/%m/%d(%a) %H:%M:%S");
00028|    }
00029|}

目次へ

2.21 テンプレートを挿入するマクロ

新規作成時にテンプレートを挿入するマクロです。設定も指定した拡張子と同じ設定に変更します。

マクロを実行すると、メニューが表示されます。使用する拡張子を選択してください。設定を変更し、テンプレートがあれば挿入します。テンプレートは、"新規ファイル"で、かつ編集されていない場合のみ、挿入されます。 "新規ファイル"で何か入力されている場合で、編集していない場合はテンプレートと見なし、内容を入れ替えます。編集中のファイルで実行した場合、使用する設定を一時的に変更します。

  • フォルダ付きで圧縮されています

    set_template.mac       :マクロ本体
    └set_template        :フォルダ -> テンプレートはこのフォルダに入れてください。
     ├set_template.html     :この文章
     └set_template_DataMake.vbs :データ作成用vbs

例)

  • 秀丸エディタ マクロファイル(.mac)で使用するテンプレート
    template.mac
  • WSHスクリプトファイル(.vbs)で使用するテンプレート
    template.vbs
  • htmlファイルファイル(.html)で使用するテンプレート
    template.html

テンプレートに以下の文字列を入れておくと、テンプレート挿入時に指定された文字列に置換します。

$(Cursor)   :カーソル位置の指示(指定した箇所にカーソルを移動させる)
$(Date)     :日付(yyyy/mm/dd)
$(Year)     :4桁の西暦
$(Month)    :2桁の月
$(Day)      :2桁の日
$(DayOfWeek):曜日(日月火水木金土 のどれか)

テンプレート用置換文字列

履歴

2006/10/29 Version 1.0.0
  • 公開
2006/12/02 Version.1.1.0
  • 以下の条件の場合、テンプレートファイルと見なし、ファイルのファイルの内容を置き換えるように変更。

    条件:新規、何か入力されているが更新されていない
  • レジストリデータを毎回取得するのをやめた。(ない場合は作成する。) これに伴い、メニューに"再取得"を追加。

  • Windows98でうまく動作していなかったので、多少調整。

2006/12/09 Version.1.1.1
  • 一時ファイルを開くとき、履歴に残らないようにした。
2006/12/23 Version.1.2.0
  • 一時ファイル -> iniファイルを作成するように変更し、 iniファイルからデータを読み込むように修正。
2007/01/04 Version.1.2.1
  • テンプレートファイルがないと、設定が変更されないバグの修正
2007/11/28 Version.1.2.2
  • 空白を含むパスの場合、正常に動作しないバグの修正
  • 検索用正規表現を修正
2011/05/02 Version.1.3.0
  • 秀丸エディタVer.8に対応
    • deletefileを使用するようにした。

    • 設定した設定名及び、拡張子を、静的変数に設定できるようにした。

      #set_svで設定 0:設定しない  1:設定する
      変数名:set_template 内容:拡張子 + ";" + 設定名
2013/07/08 Version.1.4.0
  • レジストリの列挙方法を変更。レジストリエディタのエクスポート機能を使うのを止め、WMIで列挙する様に変更。 Windows Vista以降、UACが有効だと、レジストリエディタの起動に失敗する為。データがあれば問題はないが、再取得や初回起動時にメニューが表示されない。
2013/07/09
  • 持ち出しキット使用時は、"HmRegIni.ini"から、データを作成するように修正。
2014/03/22 Version.1.5.0
  • テンプレート用埋込文字列指定を追加

    $(Cursor)   :カーソル位置の指示
    $(Date)     :日付(yyyy/mm/dd)
    $(Year)     :4桁の西暦
    $(Month)    :2桁の月
    $(Day)      :2桁の日
    $(DayOfWeek):曜日(日月火水木金土)
2014/03/30
  • 検索条件を元に戻していなかったのを修正

目次へ

2.22 開いている文章をwebブラウザで開くマクロ

現在開いているファイルを、指定されたwebブラウザで開きます。拡張子が ".html"または".htm"の場合か、webブラウズモード時のみ動作します。

単純にwebブラウザを呼び出しているだけです。 既に同じフィアルをwebブラウザで開いていても、リロードさせるような処理はしていません。

Zipファイル内には、以下のファイルが格納されています。

  • WebBrowserOpen.mac
    マクロファイル
  • WebBrowserOpenSetup.mac
    設定ファイル作成用マクロファイル
  • WebBrowserOpenSetup.ps1
    設定ファイル作成用マクロから呼び出される、webブラウザの情報を取得するためのpowershellスクリプト
  • WebBrowserOpen.html
    説明ファイル

すべて同じフォルダに配置してください。

このマクロの実行には、

  • 秀丸エディタVer.8以降
  • powershell(設定ファイル作成用マクロで使用)

が必要です。

マクロを実行すると、設定ファイルがない場合、設定ファイル作成用マクロを実行し、

  • マクロと同じ場所に設定ファイル WebBrowserOpen.ini

を作製します。アンインストールする場合は上記ファイルも削除してください。

履歴

2018/03/21 Version 1.0.0
  • 初版
2019/11/23 Version.1.1.0
  • FirefoxでDDE通信が使えなくなっていたので修正。(DDE通信を使うのはIEのみ) ウィンドウクラス名はIE以外は、未使用となる。
  • 設定ファイル作成用の「WebBrowserOpenSetup.ps1」を修正。 Microsoft Edge(Chromium版) も検出出来るように修正。(DEV版で確認)

2.22.1 設定ファイル作成用マクロが対応しているブラウザ

設定ファイル作成用マクロは、マクロから呼び出すwebブラウザのパスを取得しますが、以下のwebブラウザが対象になっています。

  • Firefox
  • Google Chrome
  • Microsoft Edge
  • Microsoft Edge(Chromium版)
  • InternetExplorer

設定ファイル作成用マクロが実行されると、マクロで使用するwebブラウザを起動するようにメッセージが表示されます。上記ブラウザの場合、必要な情報を取得し、設定ファイルを作ります。

上記以外のwebブラウザを使用する場合は、設定ファイルを直接編集する必要があります。詳細は添付されている「WebBrowserOpen.html」を参照してください。

目次へ

2.23 webブラウザからURLを取得するマクロ

現在開いているファイルに、webブラウザから取得したURLとタイトルを挿入します。

Zipファイル内には、以下のファイルが格納されています。

  • GetUrl.mac マクロファイル
  • GetUrl.html この説明ファイル
  • GetURL.uws Firefox 57以降、Google Chrome、Microsoft Edge 用のuwscスクリプトファイル

すべて同じフォルダに配置してください。

このマクロの実行には、 - 秀丸エディタVer.8以降 - Firefox 57以降、Google Chrome、Microsoft Edge を対象にする場合は、 Windowsの自動操作ツールであるUWSC/ UWSC(VECTOR)が必要です。

以下のwebブラウザで動作確認しています。

  • Firefox 57.0.3
  • Google Chrome 63.0.3239.108
  • Microsoft Edge 41.16299.15.0
  • InternetExplorer 9.0
  • Sleipnir 6.2.6.400
  • Lunascape 6.15.1(Tridentのみ、Gecko、WebKitでは、COM/DDEどちらも動作しません。)

注意
Firefox 57.0 から、デフォルト状態では、DDE通信(WWW_GetWindowInfo)が正常に動作しません。その為、このマクロを実行するとエラーになります。 Firefox 本体側の設定を変更すれば、DDE通信でも動作するようになりますが、高速化などは無効化されます。

マクロを実行すると、メニューを表示します。情報を取得したいブラウザを選択して下さい。

GetURL.mac実行画面

履歴

2006/12/30 Version 1.0.0
  • 初版
2007/08/30 Version 1.1.0
  • Lunascape 4.5.0がDDEに対応したので追加。
2008/02/17 Version 1.2.0
  • IE7で動作確認と、IEで正常に取得できないバグの修正
  • URL、タイトルの取得をhmjre.dllの正規表現で行うように修正
2009/08/16 Version.1.3.0
  • 秀丸エディタVer.8対応
2010/10/30 Version.1.4.0
  • COM関連のエラー処理を修正。
  • IE8で、DDEの場合に、正常に取得できない場合に対処
  • IE8で、複数ウィンドウが開いている場合に、対象を特定できないので、 (アクティブなタブが判定できない)、メニュー表示するようにした。
  • アクティブタブを誤認識する場合があるので、ある程度対処。
2012/01/15 Version.1.5.0
  • Sleipnir 3.0.5 で取得に失敗するので対処
2018/01/03 Version.1.6.0
  • Firefox 57以降、DDE通信(WWW_GetWindowInfo)が正常に行われないので、代替えとしてUWSCを使うように変更。同時に、Google Chrome、Microsoft Edgeにも対応。
2018/01/14 Version.1.6.0a
  • 圧縮ファイルのパッケージミスを修正。

メニューを表示しないで、直接webブラウザを指定する場合、マクロを直接編集します。 "#sel = result"に直接値を設定して下さい。

  • Version.1.6.0の場合

    修正前

    00020|menu "&Firefox",
    00021|     "&Chrome",
    00022|     "E&dge",
    00023|     "&IE(DDE)",
    00024|     "I&E(&COM)",
    00025|     "&Fir&efox(DDE)",
    00026|     "&Sleipnir 4.xx/(DDE)",
    00027|     "Sleipnir  &6.xx(DDE)",
    00028|     "&Lunascape 6.xx(COM)",
    00029|     "Lu&nascape 6.xx(DDE)";
    00030|#sel = result;

    修正後 menu文をコメントし#selに値を直接セットする。値はメニューの順番を指定します。 (例は1番目のFirefoxを指定。Edgeの場合は、3 になる)

    00020|/*menu "&Firefox",
    00021|     "&Chrome",
    00022|     "E&dge",
    00023|     "&IE(DDE)",
    00024|     "I&E(&COM)",
    00025|     "&Fir&efox(DDE)",
    00026|     "&Sleipnir 4.xx/(DDE)",
    00027|     "Sleipnir  &6.xx(DDE)",
    00028|     "&Lunascape 6.xx(COM)",
    00029|     "Lu&nascape 6.xx(DDE)";*/
    00030|#sel = 1;

    ファイルに挿入する部分を変更するには以下の部分を変更してください。

    $title:タイトル
    $url  :url
    00066|if(##return == true){
    00067|    //ファイルに挿入する部分
    00068|    if($title != ""){
    00069|        insert $title;
    00070|        insertreturn;
    00071|    }
    00072|    if($url != ""){
    00073|        insert $url;
    00074|        insertreturn;
    00075|    }
    00076|    setactivehidemaru hidemaruhandle(0);
    00077|}

目次へ

2.24 新規作成時に実行するマクロを起動するマクロ

秀丸エディタ Ver.6.50から追加された、「新規作成時直後」に実行するマクロの補助マクロです。

このマクロを使用することにより、

  • 複数のマクロを実行する。
  • 一時的に実行しないようにするキーを変更(追加?)する。デフォルトでShiftキーを押しながらだと、マクロを無効化することがでます。これを別のキー(Ctrl、Alt)でも可能にします。ただし、Shiftキーによる無効化は解除できません。
  • 起動時にキー(Ctrl、Alt)を押している場合のみマクロを実行する。(Shiftキーは無理)
  • すぐにマクロを実行せず、キー入力(Shift、Ctrl、Alt)を待ち、キーが入力された場合にマクロを実行する。

という事が可能です。

実行マクロである"AutoNewMake.mac"と、設定用の"AutoNewMakeSetup.mac"があります。実行前に、"AutoNewMakeSetup.mac"を実行し、設定を行ってください。 "AutoNewMakeSetup.mac"の実行には田楽DLLが必要です。

AutoNewMake.mac Version.1.0.2(2008/04/20)

AutoNewMake.mac

2007/01/16 Version 1.0.0
  • 正式版
2007/01/31 Version.1.0.1
  • 待ち受け時、指定したキー以外を押した場合は終了するようにした。
2008/04/20 Version.1.0.2
  • 新規ファイル判定に失敗する場合がある場合の対処を追加。

AutoNewMakeSetup.mac

2007/01/16 Version 1.0.0
  • 正式版
2007/07/26 Version.1.0.1
  • タブの表記を変更

「動作の選択のタイミング」で「マクロ起動後にチェックする」設定時の、キー入力を待ち画面 タイトルバーに表示あり。最後の数字は待ち時間(秒)でカウントダウンする。"0"までにキー入力があるとマクロを起動する。
AutoNewMake.mac実行画面

AutoNewMakeSetup.mac実行画面1

AutoNewMakeSetup.mac実行画面2

目次へ

2.25 複数デスクトップ保存マクロ

秀丸エディタには、開いているファイルの情報(ファイル、ウィンドウ位置)を保存/復元する「デスクトップ保存/復元」がありますが、1つの状態しか保存出来ません。このマクロを使用することにより、複数の状態を保存/復元可能にします。

Ver 1.1.1以降は、秀丸エディタ Ver.7が必要です。Ver.6では動作しません。秀丸エディタ Ver.6で使用する場合は、Ver.1.1.0を使用してください。

  • 秀丸エディタ Ver.7用複数デスクトップ保存マクロ Version.1.1.3a(2009/07/19)

    Ver.1.1.1β1

    • 英語版への対応を追加。(レジストリの位置を自動切換)

    Ver 1.1.1

    • 復元時、作業前にファイルチェックを行い、見つからない場合、復元を中断するか、確認を行うようにした。

    Ver 1.1.1a

    • hmpro.txtの内容修正。(マクロは修正なし)

    Ver.1.1.2

    • htmlファイルが保存できないバグの修正。(f-lig氏の報告による)
    • webbrowseモードやFTPモードの情報を、保存するようにした。(復元は未対応)

    Ver 1.1.3

    • ネットワークパスを開いている場合、メニューにゴミが表示されるのを修正(m3snow氏の報告による)
    • タブグループ毎最小化した場合に正常に保存できないバグの修正。

    Ver 1.1.3a

    • "hmpro_save.mac"がデバッグモードになっていたので、差し替え。(動作に問題はない)
  • 秀丸エディタ Ver.6用複数デスクトップ保存マクロ Version.1.1.0(2007/04/14)

    Ver.1.0.1

    • 最大化している場合のデータ取得方法を変更
    • 自動起動マクロを実行をウィンドウを開いた直後に変更(閲覧モード、上書き禁止設定後に実行)
    • 自動起動マクロ実行フラグ追加

    Ver.1.0.2

    • マクロ化部分で、マクロの検出に失敗するバグの修正。上書きすると、マクロコードが複数書き込まれるが、問題はないはず。
    • 保存時、非タブ時に、最小化に戻せないバグの修正
    • charsetの保存値を変更 charset & 0x3F 改行コードを削除
    • タブ時、"このタブを最小化"で最小化している場合、正常に状態を保存できないバグの修正。

    Ver.1.1.0

    • マルチモニタ対応(したつもり?)
    • 保存、復元方法を変更 "このタブを最小化"しているタブを元に戻せるようにした。 (通常ウィンドウで使用している場合は、変化無し)
    • 設定ファイルを変更(項目追加)

    設定ファイルはそのまま使えます。(一部制限有り)

    詳細な説明と、各マクロの変更履歴はhmpro.txtを参照。


インストール

圧縮ファイル内にはマクロが4つ、テキストファイルが1つ格納されています。ディレクトリ情報を保ったまま、解凍して下さい。

hmpro_restore.mac             :復元マクロ
hmpro_save.mac                :保存マクロ
hmproフォルダ                 :設定保存用フォルダ(*.hmpro)
├hmpro.txt                   :説明ファイル
├hmpro_setup.mac             :復元マクロ起動用VBSセットアップマクロ
└hmpro_makeShortCut.mac      :復元マクロ起動用ショートカット作成マクロ

以下の2つのマクロは補助マクロで、保存・復元のマクロでは使用していません。使い方は、説明ファイルの「3.4項」、「3.5項」を見てください。

  • hmpro_setup.mac
  • hmpro_makeShortCut.mac

hmpro_makeShortCut.macを使う場合は、別途、macrodll.dllが必要になります。

"祝鳥"に含まれています。 "macrodll.dll"を下記のいずれかに置いてください。

  • 秀丸エディタ本体と同じ場所
  • マクロフォルダ
  • このマクロと同じ場所
アンインストール
マクロの登録を解除し、上記ファイルと、設定ファイルを削除してください。

2.25.1 使い方

2.25.1.1 設定保存

設定を保存するには、"hmpro_save.mac"を実行します。マクロを実行すると、

  • 新規
  • 上書き
  • 最近復元した設定(表示しない設定も可能)

がメニューで表示されます。新規の場合はファイル名を入力します。上書きの場合は、既存の設定ファイルをメニュー表示します。最近復元した設定ファイルを、3つまで表示します。

  • 新規保存する場合は、名前入力して下さい。フルパスで入力すると、指定された場所に保存します。
  • 名前だけの場合、hmproフォルダに保存します。設定ファイルの拡張子は".hmpro"となります。
  • 上書き保存する場合は、メニューからファイルを選択するか、「ファイルを指定」を選択し、ダイアログからファイルを選択してください。
2.25.1.2 設定復元

設定を復元するには、"hmpro_restore.mac"を実行します。 "hmpro"フォルダ内を検索し。設定ファイルをメニュー表示するので、復元する設定を選択してください。

  • ファイルを開いている場合は、閉じるかそのままにするか、選択が可能ですが、なるべく閉じてください。
  • hmproフォルダにある設定ファイルをメニュー表示するので、復元する設定を選択してください。
  • 復元中にShiftキーを押していると、以下の処理を行いません。
    • カーソル位置の復帰
    • 自動起動マクロを実行
  • hmpro_restore.mac Ver.1.1.1より、復元作業前に、ファイルのチェックを行ってます。ファイルが見つからない場合は、復元作業を続行するかどうか、確認を行います。
2.25.1.3 保存・復元する内容

各ファイルの以下の情報を保存・復元します。

  • 位置
  • 大きさ
  • カーソル位置(デフォルト:自動復帰が無効の場合復元)
  • IMEのモード
  • 閲覧モード
  • 上書き禁止
  • ウィンドウが分割しているかどうか。
  • エンコードの種類(デフォルト:復元しない)

各ウインドウは以下の情報を保存・復元します。

  • タブの場合はタブの順番
  • アクティブなウィンドウ(タブ)
  • ウィンドウの状態(最小化、最大化、非表示) 非タブモードで、最小化または最大化状態で、非表示の場合は、正常に保存できません。
  • 出力モニタ先(マルチモニタ時のみ)

以下の情報は保存・復元しません。

  • 常に手前の状態
  • 見出しバー、アウトライン解析の枠の状態 (各設定のデフォルトになります。)

以下のファイル(?)の情報は保存しません

  • 新規ファイルで保存しない場合
  • grepの出力結果
  • プログラムの実行結果
  • webブラウズモードの場合
  • ftpで開いているファイル

目次へ

2.26 カラーマーカー用ダイアログ

秀丸エディタVer.7.00βより、カラーマーカー機能が追加されました。現状では設定用のダイアログがないので、田楽DLLを使って作ってみました。

Ver.8 秀丸エディタVer.8より、秀丸エディタ本体に、カラーマーカ用のダイアログが追加されています。秀丸エディタVer.8.30より、レイヤーが追加されました。

このマクロの実行には、

が必要です。

以下の二つのマクロがセットになっています。

  • カラーマーカー設定ダイアログ
    colormarker_dialog.mac Version.1.3.0[2020/06/06]
    カラーマーカー設定用ダイアログ

    カラーマーカー設定ダイアログは、色を付けたい箇所を選択してから、マクロを起動してください。「適用」で、指定した色を設定します。「クリア」でカラーマーカーを解除します。
    カラーマーカー設定時に改変扱い(更新した状態)にするには、#undo_cntを"0"にして下さい。 (確実に「ファイル保存」を実行させる為の処理)

    00052|//マーキング時、改変扱いにする場合は0にする。
    00053|#undo_cnt = -1;
  • カラーマーカー検索ダイアログ
    colormarker_search.mac Version.1.2.0[2021/10/02]
    カラーマーカー検索ダイアログ

  • カラーマーカー用ダイアログセット [2021/10/02] 説明書

2.26.1 カラーマーカー設定用ダイアログ履歴

2007/04/29 Ver.1.0.0
  • 初版
2007/04/30 Ver.1.0.1
  • 田楽DLLのロード部分を修正
2007/05/08 Ver.1.1.0
  • ユーザーデータに(秀丸エディタVer.7.00β3以降)対応
  • マクロ起動時に、範囲選択解除しないようにした。
2007/07/04 Ver.1.1.1
  • 種類のデフォルトを変更 編集したら消える → 編集しても維持 へ
  • 色情報を取得するためのカーソル移動方法を変更。
  • マーキング時、改変扱いに出来るようにした。(デフォルトはOFF)
2007/09/08 Ver.1.2.0
  • 「反転」、「前の設定」、「文字列選択」を追加。
2013/07/05 Ver.1.2.1
  • ユーザーデータの取得方法が間違っていたので修正。戻り値は、文字列化された16進数なのに、10進数と思っていた。
2013/07/06
  • レイヤーを使っている場合、初期値がおかしかったのを修正。
  • カーソル位置の色設定が"透明"だった場合、"-1"を表示。
2015/08/23 Ver.1.2.2
  • カーソル位置がレイヤーを使用していた場合、初期値としてセットするようにした。 (複数レイヤーが指定されていた場合は、最初に見つけたレイヤー名をセットする)
2020/05/24 Ver.1.3.0
  • 強調表示対応(秀丸エディタVer.8.92以降)

2.26.2 カラーマーカー検索用ダイアログ履歴

2007/05/13 Ver.1.0.0
  • 初版
2013/07/06 Ver.1.1.0
  • レイヤーに対応
2021/10/02 Ver.1.2.0
  • 組み込み済みレイヤーに対応

目次へ

2.27 カラーマーカーデータ保存・復元マクロ

秀丸エディタVer.7.00βより、カラーマーカー機能が追加されました。テキストファイルということから、カラーマーカーは一時的なもので、保存されません。その為、外部ファイルにカラーマーカーデータを保存するマクロを作成しました。

カラーマーカーのデータを、保存・復元するマクロのセットです。 - 保存・復元マクロのセット [2020/06/27版 秀丸エディタ Ver.8.92以降用] 説明ファイル

保存マクロ colormarker_datasave.mac
保存マクロは、実行したファイルと同じ場所に、拡張子を".hmcm"に変更したファイル名に".hmcm"".hminfo"を追加した、データファイルを作成します。
復元マクロ colormarker_dataload.mac
復元マクロは、実行したファイルと同じ場所に、拡張子が".hmcm"のファイルがある場合ファイル名に".hmcm"".hminfo"が追加されたファイルがある場合、そこからデータを読み込み、カラーマーカを設定します。
(現バージョンでは、「拡張子が".hmcm"に変更されたファイル」の場合は、データ変換マクロが自動的に起動し、変換します。)
例)開いたファイル C:\temp\colormarker.txt
  データファイル C:\temp\colormarker.txt.hminfo

それぞれ、自動起動マクロを有効にし、「保存直前と直後」または「ファイルを閉じる直前」、「ファイルを開いた直後」に登録すればいいです。

2.27.1 制限事項(カラーマーカーデータ保存・復元マクロ)

  • 保存するのは、マーキングされている最初と最後の座標および、文字情報で、完全な内容まで保存しません。その為、設定保存時とファイルの内容が違ってしまっている場合、 意図しない箇所に、マーキングされる場合があります。

  • 2020/06/27版から、「種類」の保存・復元に対応していますが、前の版で保存された内容には「種類」は保存されていないため、 "0"(編集しても維持)になります。カラーマーカーで種類を設定すれば、その内容で保存・復元を行います。

  • 保存マクロは、自動起動マクロの制限をかけています。「保存直後」と「ファイルを閉じる直前」以外では動きません。

  • 「新規ファイル」、「grepの結果」、「プログラムの実行結果」、「webブラウズモード」、「FTPモード、「拡張子が".hmcm"のファイル」の場合、保存・復元を行いません。

  • 2008/03/30版より、設定ファイルにフラグを追加しました。復元マクロ実行時に、フラグをセットします。保存マクロは、フラグがセットされている場合のみ、動作します。

2.27.2 履歴(カラーマーカーデータ保存・復元マクロ)

2.27.2.1 colormarker_datasave.mac
2007/06/17 Ver.1.0.0
  • 初版
2007/06/18 Ver.1.0.1
  • データがないのに、ファイルが存在する場合はファイルを削除するようにした。
2007/07/02 Ver.1.0.2
  • 設定ファイル(.hmcm)も対象外になるようにした。
2007/07/15 Ver.1.0.3
  • 「ファイルを閉じる直前」でも実行可能にした。
2007/07/25 Ver.1.0.4
  • 文章の先頭にあるカラーマーカーを保存できない不具合の修正。
2007/07/30 Ver.1.0.5
  • データファイルを削除する際に問い合わせを行うようにした。(colormarker_dataload.macを実行しないで開いた場合、データを削除してしまう為)
2007/09/08 Ver.1.0.6
  • データファイル名を変更。ファイル名+".hmcm"へ拡張子だけ違うファイルの場合を考量していなかった。
2008/03/29 Ver.1.0.7
  • データファイルのロードフラグ対応。
  • nextcolormarkerがうまく動かない場合があるので対処。
2011/12/04 Ver.1.1.0
  • 設定ファイルの拡張子を変更(.hmcm → .hminfo)。その他のマクロと、設定ファイルを共有する為。
2011/12/07
  • 開始位置/終了位置のunicodeキーワードを保存し、復元時に確認を行うようにした。
2013/07/16 Ver.1.1.1
  • 色指定を行わなかった(透過を指定)場合に、対応できていいなかったを修正。 (右から6文字を切りだすのではなく、そのまま記録すればよかった。)
2014/03/01 Ver.1.2.0
  • 標準レイヤー以外のカラーマーカーも対象にするようにした。
2014/03/02
  • 保存するレイヤー数が変わった場合に、不要なレイヤーデータを削除する。
2015/08/20 Ver.1.2.1
  • 保存中は、タイトルバーに表示するようにした。
2020/06/05 Ver.1.3.0
  • Ver.8.92で「種類」が取得できるようになったので対応
2.27.2.2 colormarker_dataload.mac
2007/06/17 Ver.1.0.0
  • 初版
2007/06/18 Ver.1.0.1
  • カラーマーカ設定時にエラーになってしまうバグの修正。
2007/07/02 Ver.1.0.2
  • 設定ファイル(.hmcm)も対象外になるようにした。
2007/09/08 Ver.1.0.3
  • データファイル名を変更。ファイル名+".hmcm"へ拡張子だけ違うファイルの場合を考量していなかった。読み込み時は、旧バージョンのデータ読込もサポート
2008/03/29 Ver.1.0.4
  • データファイルのロードフラグ追加。
2011/12/04 Ver.1.1.0
  • 設定ファイルの拡張子を変更(.hmcm → .hminfo)。その他のマクロと、設定ファイルを共有する為。
2011/12/07
  • 開始位置/終了位置のunicodeキーワードを保存し、復元時に確認を行うようにした。
2012/04/14
  • データファイルのロードフラグ書き込み条件を変更。

    #cnt > 0 で書き込み。
2014/03/01 Ver.1.2.0
  • 標準レイヤー以外のカラーマーカーに対応
2015/08/20 Ver.1.2.1
  • 復元中は、タイトルバーに表示するようにした。
2020/06/05 Ver.1.3.0
  • Ver.8.92で「種類」が取得できるようになったので対応

目次へ

2.28 マクロで#includeを可能にするマクロ

マクロを作る人向けのマクロです。

このマクロは、名前の通り、C言語のプリプロセッサの様に、外部ファイルを参照する機能("#include")を提供します。

要は、別ファイルで作成・管理しているサブルーチンを、実行時にファイルから読み込み、合成し実行する、ちょっと強引なマクロです。

注意

このマクロの旧バージョンを使用していた場合、上書きしただけでは動作しません。
このバージョンより、マクロファイル名の受け渡しに、秀丸エディタVer.8より、
追加されている機能を使用している為、マクロ起動部分が変更になっています。

旧バージョン
  writeinistr "hme_include.mac", "setting","filename",currentmacrofilename;
  execmacro   "hme_include.mac"; endmacro;

このバージョン(Version.1.1.0以降)
  execmacro "hme_include.mac", currentmacrofilename; endmacro;

その為、マクロ起動部分の書き換えが必要になります。

2.28.1 実行するマクロへの追加方法

このマクロを使用する場合、以下の構成になります

┌──────────────────┐
│hme_include.macの起動部分           │
│  hme_include.macを実行             │
┣━━━━━━━━━━━━━━━━━━┫
┃実際のマクロ                        ┃
┗━━━━━━━━━━━━━━━━━━┛

実際に実行するマクロは以下の構成になります。 "hme_include.macの起動部"はコメントアウトされます。

┌──────────────────┐
│ヘッダ(取り込むファイル名)          │
┣━━━━━━━━━━━━━━━━━━┫
┃実際のマクロ                        ┃
┣━━━━━━━━━━━━━━━━━━┫
│#includeで指定されたファイル1      │
│#includeで指定されたファイル2      │
└──────────────────┘

2.28.2 #include宣言部

取り込みたいファイルを、"#include"を使用し、指定します。そのまま指定すると、マクロ実行時にエラーになるので、コメントの状態で記入してください。

  • "#include"は小文字で指定すること。
  • 指定されたファイルは、"#include"の位置ではなく、マクロの最後に追加されます。

例1)複数行コメントの場合

/*
#include <ファイル名1>
#include <ファイル名2>
*/

例2)通常のコメントの場合

//#include <ファイル名1>
//#include <ファイル名2>

フルパスでない場合は、囲む文字に応じて、フォルダ名を自動的に補完します。ファイル名を囲む文字が、

  • 「<>」の場合はmacrodir
  • 「""」の場合は実行するマクロのあるフォルダ

を補完します。

2.28.3 hme_include.macの起動部分

合成するマクロ名を指定し、"hme_include.mac"を起動します。

変更する必要があるのは、各行の「macrodir + "\hme_include.mac"」の部分です。この部分を、"hme_include.mac"を配置した、フォルダにする必要があります。

具体的には、マクロの先頭部分に、以下の1行を追加します。

execmacro   macrodir + "\\hme_include.mac", currentmacrofilename; endmacro;

呼び出されるマクロに引数を渡す場合には、以下のようにしてください。

execmacro   macrodir + "\\hme_include.mac",currentmacrofilename, str(argcount), getarg(0), getarg(1), …, getarg(29); endmacro;
            =================================================================== ------------------------------------============
            ここまでは固定                                                      必要な引数の最大数まで設定          固定

引数の最大は31個ですが、このマクロで2個使用している為、最大は29個になります。

  • getarg関数を29個すべて追加する必要はありません。呼び出されるマクロで、必要な最大数までです。

    引数が一個の場合

    execmacro   macrodir + "\\hme_include.mac",currentmacrofilename, str(argcount), getarg(0); endmacro;

    引数が最大で3個の場合

    execmacro   macrodir + "\\hme_include.mac",currentmacrofilename, str(argcount), getarg(0), getarg(1), getarg(2); endmacro;

2.28.4 改版履歴

2007/04/30 Version.1.0.0
  • 初版
2007/05/06
  • 必要なパラメータが1つになるように変更
  • <>の場合はマクロフォルダ、""の場合はマクロのカレントフォルダパスを(フルパスでなければ)補完するように変更
2008/04/30 Version.1.0.2
  • 実行マクロ生成時、ヒストリに残らないように"/n"オプション追加
2010/03/07 Version.1.1.0
  • Ver.8 専用版マクロ起動部分の変更のみ
2013/11/10 Version.2.0.0
  • 実際に実行するファイルを、秀丸本体で編集していたのを止めで、COM(WSH)によるファイル操作に変更。
  • 処理方法変更に伴い、includeを配置する位置の制限はなくなり、何処に配置してもいい。
  • 合成したファイルの削除を行わずに、再利用するようにした。作成したマクロに、ファイル名を記録し、更新されていなければ、そのファイルを使用する。更新されていれば再度合成する。
2014/11/24 Version.2.1.0
  • マクロの引数に対応。引数を使用する場合は、呼び出し部分を変更する必要があります。

2.29 自動起動マクロの起動マクロ

秀丸エディタ Ver.7.00から追加された、各種自動マクロに指定することで、複数のマクロを実行する事が可能です。各種イベントの認識は、本マクロで行うため、実行したいマクロを登録するだけで、各種マクロを実行できます。(実行するマクロ側でイベントを認識する必要がない。)

また、特殊コマンドを使用すれば、以下のことが可能になります。

  • 拡張子別に実行するマクロを切り替える。
  • 一時的に実行する、しないを切り替える。

実行マクロである"AutoRun.mac"と、設定用の"AutoRunSetup.mac"があります。実行前に、"AutoRunSetup.mac"を実行し、設定を行ってください。

"AutoRunSetup.mac"の実行には田楽DLLが必要です。

田楽DLLの入手先

AutoOpen.mac

2007/06/23 Version.1.0.0
  • 初版
2007/07/14
  • ファイルを閉じる直前を追加
2007/09/15
  • 条件に"FILETYPE"を追加
2009/09/02 Version.1.1.0
  • Ver.8対応(アクティブ切り替え後を追加)
  • 引数で、イベント番号を受け取れるようにした。
2013/01/10 Version.1.2.0
  • 条件に"NOTFILETYPE"を追加
2017/02/08 Version.1.3.0
  • Ver.8.71対応(破棄して閉じる場合を追加)
2020/06/06 Version.1.4.0
  • Ver.8.92対応。キャッシュを生成・使用するように修正。
2021/01/13 Version.1.5.0
  • FTPに対応
2021/05/02 Version.1.5.1
  • 引数のチェックを追加

AutoOpenSetup.mac

2007/10/08 Version.1.0.0
  • 初版
2009/09/02 Version.1.1.0
  • Ver.8対応(アクティブ切り替え後を追加)
2013/01/10 Version.1.2.0
  • 条件に"NOTFILETYPE"を追加
  • "次の行をスキップ"する時、FILETYPEを条件が、正常に設定できないバグの修正
2021/04/24 Version.1.2.1
  • マクロファイル名チェックを修正。ファイル名に"autorun.mac"が含まれると追加できなかったバグの修正。

AutoRunSetup.mac実行画面1

目次へ

2.30 「ツリーそのものをコピー」のTAB-罫線変換マクロ

「アウトライン解析の枠」にある「ツリーそのものをコピー」の機能で、クリップボードに出力されるデータを、TAB→罫線変換を行うマクロです。「ツリーそのものをコピー」を実行し、秀丸エディタに貼り付けてから実行して下さい。範囲選択している場合は、選択範囲のみ実行します。

Ver.8

秀丸エディタVer.8では、「一覧のコピー」というコマンドが追加され、ツリー表示以外でも、アウトライン枠の内容をコピー可能になっています。ツリーになっている箇所は、レベルをTAB文字×レベルに変換されます。

TabTreeConvert.mac Version.1.0.0(2007/10/14)

2007/10/08 Version.1.0.0
  • 初版

「ツリーそのものをコピー」実行画面

タブから変換する文字列は、マクロの以下の箇所を編集することで、変更可能です。

00008|//空白
00009|$tree_space = "  ";
00010|//縦線
00011|$tree_trunk = "│";
00012|//枝
00013|$tree_branch = "├";
00014|//終端
00015|$tree_end = "└";
  • 元のデータ

    ==その他
    	===秀丸マクロ文法チェックマクロ(Grammarcheck.mac)
    		* [Grammarcheck.mac](Grammarcheck.lzh)
    			(1)「すべて選択」し「コピー」。
    			(2)一時ファイルをステルス秀丸エディタで開き、「貼り付け+履歴戻し」。
    			(3)一時ファイルの先頭に「endmacro;」を挿入し保存。
    			(4)一時ファイルを「execmacro文」で実行。
    			(5)エラーがあるならエラーが出て停止、エラーがなければ一時ファイルを削除して終了。
    	===一時的に違う設定にするマクロ
    		====拡張子で指定
    			* [reopen_ext.mac](reopen_ext.lzh) 秀丸エディタ ((*Version.5.11未満用*)) 更新予定無し
    			* [reopen_ext.mac](reopen_ext061105.lzh) 秀丸エディタ ((*Version.5.11以降用*))(2006/11/05)
    			:2006/11/04  Version.1.2.0
    				* "共通"を指定できるようにした。
    				* レジストリアクセス失敗や、拡張子設定がない場合、
    			:2006/01/29  Version.1.1.0
    				* 秀丸Ver.5.11から追加された"configset"を使うようにした。
    		====設定名で指定
    			* [TemporarilyChanged.mac](TemporarilyChanged061105.lzh) 秀丸 ((*Version.5.11以降用*))(2006/11/05)
    				:2006/11/04  Version.1.1.0
    					* "共通"を指定できるようにした。
    				:2006/01/29  Version.1.0.0
    					* 初版
  • 変換後のデータ

      └==その他
        ├===秀丸マクロ文法チェックマクロ(Grammarcheck.mac)
        │└* [Grammarcheck.mac](Grammarcheck.lzh)
        │  ├(1)「すべて選択」し「コピー」。
        │  ├(2)一時ファイルをステルス秀丸エディタで開き、「貼り付け+履歴戻し」。
        │  ├(3)一時ファイルの先頭に「endmacro;」を挿入し保存。
        │  ├(4)一時ファイルを「execmacro文」で実行。
        │  └(5)エラーがあるならエラーが出て停止、エラーがなければ一時ファイルを削除して終了。
        └===一時的に違う設定にするマクロ
          ├====拡張子で指定
          │├* [reopen_ext.mac](reopen_ext.lzh) 秀丸エディタ ((*Version.5.11未満用*)) 更新予定無し
          │├* [reopen_ext.mac](reopen_ext061105.lzh) 秀丸エディタ ((*Version.5.11以降用*))(2006/11/05)
          │├:2006/11/04  Version.1.2.0
          ││├* "共通"を指定できるようにした。
          ││└* レジストリアクセス失敗や、拡張子設定がない場合、
          │└:2006/01/29  Version.1.1.0
          │  └* 秀丸Ver.5.11から追加された"configset"を使うようにした。
          └====設定名で指定
            ├* [TemporarilyChanged.mac](TemporarilyChanged061105.lzh) 秀丸 ((*Version.5.11以降用*))(2006/11/05)
            ├:2006/11/04  Version.1.1.0
            │└* "共通"を指定できるようにした。
            └:2006/01/29  Version.1.0.0
              └* 初版

目次へ

2.31 アウトライン解析の枠を検索結果表示にするマクロ

アウトライン解析の枠をlocalgrepの結果のようにするマクロです。

アウトラインの設定を、

  • "強調一覧"
  • "「検索文字列を強調」されている箇所"のみチェック

という状態に、一時的に変更します。

もう一度マクロを実行すると、設定を元に戻します。

秀丸エディタVer.8以降専用バージョン。元に戻す時の動作を、実行時の状態(一時的な設定かどうか)により処理を変更。なるべく実行前の状態に戻すようにした。

秀丸エディタ Ver.7用 (一時的な設定だった場合、一時的な設定自体を解除する。)

上が実行前、下が実行後の画面。
アウトライン解析の枠を検索結果表示に変更

目次へ

2.32 秀丸パブリッシャーを使った印刷プレビューマクロ

秀丸パブリッシャーを使って、印刷プレビューを行うマクロです。秀丸パブリッシャーがインストールされていないと使えません。

  • hmp_preview.mac (テンプレート固定。ほとんどヘルプと同じ。テンプレートを指定する場合は、マクロを直接編集すること。)
  • hmp_sel_template_preview.mac(テンプレート選択タイプ)

上記2つのマクロの詰め合わせ 2008/09/07版

hmp_sel_template_preview.macを、DLL関数を使用して作成。 (Ver.2、Ver.3の最新β版が必要です。)

目次へ

2.33 複数ファイルに複数のマクロを実行するマクロ

秀丸エディタで、複数のファイルに対し、複数のマクロを、実行するマクロです。

このマクロを実行するには 田楽DLL が必要です。


2008/02/27 Version.1.0.0
  • 初版
2009/03/10 Version.1.0.1
  • "ログを出力"のみチェックされている場合、エラーになるのを修正。 ("DLLがロードされていないのにdllfunc関数が使われました"という、エラーになる)
  • "検索するフォルダ"に空白が含まれると、正常に動作しないバグの修正。
  • マクロ実行後のウィンドウ切替部分を多少修正。
  • 検索フォルダのパスが長い場合表示しきれないので、対処方法を組み込み。 (マクロの直接編集)
2009/03/20 Ver.1.1.0β1
  • 履歴処理の追加
  • 設定の保存・読込機能を追加
  • 細かいバグの修正(ダイログ作成時のエラー処理、変数名間違い修正)
  • 起動時に、前回の実行結果を復元する、設定を追加(マクロの直接編集)
    #SetSetting = 1;//0:初期化 1:前回の内容を復元
2009/04/12 Ver.1.1.0β2
  • 不要コードの削除
  • 設定保存時、セクション削除後に書き込むようにした。 (上書き保存した場合に、不要なデータを削除する為)
2010/01/04 Ver.1.1.0
  • 正式版

「複数ファイルに複数のマクロを実行するマクロ」実行画面

2010/01/06 Ver.1.2.0β1
  • 「開いているウィンドウ/タブグループを対象」を追加
  • 特殊コマンドを追加。「印刷」、「grep」
2010/01/06 Ver.1.2.0β1
  • 特殊コマンドを変更。「grep」→「localgrep」
2010/01/22 Ver.1.2.0β2
  • 印刷時の中断処理がうまく動いていなかったので、修正
2013/07/08 Ver.1.2.0β3
  • localgrep を実行した場合の、結果ファイル出力を変更。カラーマーカーを使用し、専用マクロでタグジャンプできるようにした。
2017/06/11 Ver.1.2.0β4
  • マクロの記述ミスを修正。

「複数ファイルに複数のマクロを実行するマクロ Ver1.2.0」実行画面

2.33.1 注意事項(複数ファイルに複数のマクロを実行するマクロ)

  • 実行するマクロ内で、endmacroallを使用している場合、マクロが途中で終了します。

  • ファイルのチェックは行っていない為、処理するファイルを、既に秀丸エディタで開いている場合は、正常に動作しないかもしれません。なるべく、他のファイルを開いていない状態で実行して下さい。

  • 「上書き保存」は、開いたファイルと、保存時のウィンドウハンドルが一致しないと、更新されていても保存は行いません。

  • "バックアップファイル"の設定により、秀丸エディタ自体の設定を書き換えています。その為、途中で異常終了した場合、マクロ実行前と設定が変わってしまう場合があります。設定を変更しているのは、「バックアップを作成する場合の保存先を指定する」です。(上級者設定にチェックを入れないと表示されません。)

    動作環境
    ├ファイル
    │├保存
    ││├□バックアップを作成する場合の保存先を指定する

2.33.2 検索フォルダのパスが長い場合

検索フォルダのパスが長い場合、表示しきれません。マクロを直接編集することにより、長いパスでも表示することが可能です。

  • 変更前
    変更前の画面

    00066|        //検索するフォルダが、全て見えない場合は、以下の一行をコメントにし、//ここから~//ここまでの"間の行頭にある//"を消す。
    00067|        dllfunc("NEWCONTROL","edit","SetFolder", "") == 0 ||
    00068|        //ここから
    00069|//        dllfunc("NEWCONTROL","mledit","SetFolder", "") == 0 ||
    00070|//        dllfunc("SETCTRLHEIGHT","SetFolder",2) == 0 ||
    00071|        //ここまで
  • 変更後
    変更後の画面

    00066|        //検索するフォルダが、全て見えない場合は、以下の一行をコメントにし、//ここから~//ここまでの"間の行頭にある//"を消す。
    00067|//        dllfunc("NEWCONTROL","edit","SetFolder", "") == 0 ||
    00068|        //ここから
    00069|        dllfunc("NEWCONTROL","mledit","SetFolder", "") == 0 ||
    00070|        dllfunc("SETCTRLHEIGHT","SetFolder",2) == 0 ||
    00071|        //ここまで

    70行目で、高さを設定しています。デフォルトは、"2"です。もっと広くしたい場合は、この数字を大きくしてください。

目次へ

2.34 検索ボックス向け検索オプション変更マクロ

検索ボックスを使う場合に、検索関連のオプションを変更する為のマクロです。

検索オプション設定画面

検索ボックスと一緒にツールバーに表示して使うこといいかもしれません。

ツールバー画面

画面表示後、何も操作しないと、5秒後(デフォルト設定)に自動的に終了します。同様に、各種オプション変更後、何も操作しない場合にも、自動的に終了します。無操作時の終了時間を変更する場合は、マクロの「#TIMEOUTSET = 5」の部分を、直接変更して下さい。設定値の単位は「秒」になります。

00015|$VERSION = "1.2.0";
00016|$title = "検索オプション変更 :";
00017|//タイムアウト値 秒で指定する。
00018|#TIMEOUTSET = 5;
00019|//田楽DLLを読込

現状、オプションをすべて表示させています。不要な場合は、マクロを直接編集して下さい。不必要な箇所を、コメントにしておけばいいでしょう。 "NEWCONTROL"から、"SETCTRLNOTIFY"のある行までを、コメントにして下さい。 (例:検索文字の強調/置換の所)

00031|        //大文字/小文字の区別
00032|        dllfunc("NEWCONTROL","check", "casesense","大文字/小文字の区別(&C)") == 0 ||
00033|        dllfunc("SETCTRLSTATE","casesense", str(searchoption & 0x00000002 == 0x00000002)) == 0 ||
00034|        dllfunc("SETCTRLNOTIFY","casesense", "101") == 0 ||
00035|        //単語の検索
00036|        dllfunc("NEWCONTROL","check", "word","単語の検索(&W)") == 0 ||
00037|        dllfunc("SETCTRLSTATE","word",      str(searchoption & 0x00000001 == 0x00000001)) == 0 ||
00038|        dllfunc("SETCTRLNOTIFY","word", "102") == 0 ||
00039|        //正規表現
00040|        dllfunc("NEWCONTROL","check", "regexp","正規表現(&R)") == 0 ||
00041|        dllfunc("SETCTRLSTATE","regexp",    str(searchoption & 0x00000010 == 0x00000010)) == 0 ||
00042|        dllfunc("SETCTRLNOTIFY","regexp", "103") == 0 ||
00043|        //あいまい検索
00044|        dllfunc("NEWCONTROL","check", "fuzzy","あいまい検索(&F)") == 0 ||
00045|        dllfunc("SETCTRLSTATE","fuzzy",    str(searchoption & 0x00000020 == 0x00000020)) == 0 ||
00046|        dllfunc("SETCTRLNOTIFY","fuzzy", "104") == 0 ||
00047|        //次の秀丸エディタも続けて検索
00048|        dllfunc("NEWCONTROL","check", "next","次の秀丸エディタも続けて検索(&H)") == 0 ||
00049|        dllfunc("SETCTRLSTATE","next",    str(searchoption & 0x00000080 == 0x00000080)) == 0 ||
00050|        dllfunc("SETCTRLNOTIFY","next", "105") == 0 ||
00051|        //一周する
00052|        dllfunc("NEWCONTROL","check", "loop","一周する(&O)") == 0 ||
00053|        dllfunc("SETCTRLSTATE","loop",    str(searchoption & 0x01000000 == 0x01000000)) == 0 ||
00054|        dllfunc("SETCTRLNOTIFY","loop", "106") == 0 ||
00055|        //検索文字の強調/検索
00056|        dllfunc("NEWCONTROL","check", "searchEm","検索文字の強調/検索(&I)") == 0 ||
00057|        dllfunc("SETCTRLSTATE","searchEm",    str(searchoption & 0x00000800 == 0x00000800)) == 0 ||
00058|        dllfunc("SETCTRLNOTIFY","searchEm", "107") == 0 ||
00059|        //追加の条件
00060|        dllfunc("NEWCONTROL","check", "addcondition","追加の条件が有効(&A)") == 0 ||
00061|        dllfunc("SETCTRLSTATE","addcondition",    str(searchoption & 0x00800000 == 0x00800000)) == 0 ||
00062|        dllfunc("SETCTRLNOTIFY","addcondition", "109") == 0 ||

このマクロを実行するには 田楽DLL が必要です。

2008/03/23 Version.1.0.0
  • 初版
2008/04/06 Version 1.1.0
  • タイトルバーにカウントダウンを表示
  • 置換の「検索文字の強調」をコメント化(検索ボックスが対象なので、置換は削除)
2008/04/24 Version 1.1.1
  • 途中で操作した場合、カウントダウン表示がおかしくなるのを修正。
2020/04/19 Version 1.2.0
  • 「追加の条件が有効」を追加

目次へ

2.35 大文字←→小文字変換マクロ

標準機能の「大文字<->小文字変換」を、選択した範囲に実行するマクロです。その為、全角文字には対応していません。

通常選択時
通常選択実行前 通常選択実行後

箱形選択時
箱形選択実行前 箱形選択実行後

目次へ

2.36 強調表示設定を追加するマクロ

指定されたhilightファイにある、強調表示データを、現在の内容に追加するマクロです。

マクロを実行すると、追加したい内容を含むhilightファイルを選択します。強調表示データが含まれていれば、その内容を現在の強調表示に追加し、設定を保存するか選択します。 (保存しない場合は、一時的設定になります。)

注意事項等

  • 現在の内容と、追加する内容が重複している場合でも、そのまま追加します。 uniq.hmf(変換モジュール)があると、重複する内容を除去します。 (完全一致のみ除去。表示方法が異なる場合は、除去しません。)
  • 強調表示ファイル名を表示している場合、ファイル名が変わります。その為、hilighttitleキーワードも変わります。("____temp1.hilight")

目次へ

2.37 複数のマクロを実行するダイアログ

秀丸エディタで、複数のマクロを、実行するマクロです。

このマクロを実行するには 田楽DLL が必要です。


2008/02/27 Version.1.0.0
  • 初版

「複数のマクロを実行するダイアログ」実行画面

2.37.1 注意事項(複数のマクロを実行するダイアログ)

  • 実行するマクロ内で、endmacroallを使用している場合、マクロが途中で終了します。

目次へ

2.38 ウィンドウ切替マクロ

秀丸エディタで、ウィンドウ間を切り替えるマクロです。次の秀丸/前の秀丸に移動するマクロの、詰め合わせになります。状態と、設定により、動作が切り替わります。

  • 非タブモードでは、次の秀丸/前の秀丸
  • タブモードで、タブグループが1つの場合は、次のタブ/前のタブ
  • タブモードで、複数のタブグループある場合は、タブグループを切替え
  • タブモードで、複数のタブグループある場合でも、同じグループのタブ移動後、タブグループ切替(設定変更)

タブの移動、ウィンドウの移動は、アイコン化した秀丸エディタには移動しません。

2.38.1 設定変更方法

各マクロの先頭にある、#tabmove を書き換えてください。

//タブモード時、次のタブに移動するかどうかのフラグ
//0:次のタブへ移動しない(タブグループの切り替えのみ)
//1:次のタブへ移動する(グループ内のタブ移動後、タブグループ切り替え)
#tabmove = 0;

目次へ

2.39 タブを閉じるマクロ

秀丸エディタで、タブを閉じるマクロの詰め合わせです。

TabClose_Other.mac
自分以外のタブを閉じる。
TabClose_Right.mac
自分の右側のタブを全て閉じる。
TabClose_Left.mac
自分の左側のタブを全て閉じる。

タブモード以外では実行できませんが、 例外的にTabClose_Other.macは動作します。 (自分以外の秀丸エディタを閉じる)

目次へ

2.40 折りたたみ保存・復元マクロ

秀丸エディタVer.6.00より、折りたたみ機能が追加されました。テキストファイルということから、折りたたみは一時的なもので、保存されません。その為、外部ファイルに折りたたみデータを保存するマクロを作成しました。

折りたたみを、保存・復元するマクロのセットです。

保存マクロ foldable_save.mac
保存マクロは、実行したファイルと同じ場所に、ファイル名に".hmfold"を追加した、データファイルを作成します。
復元マクロ foldable_load.mac
復元マクロは、実行したファイルと同じ場所に、ファイル名に".hmfold"が追加されたファイルがある場合、そこからデータを読み込み、折りたたみを設定します。
例)開いたファイル C:\temp\foldable.txt
  データファイル C:\temp\foldable.txt.hmfold

2.40.1 その他・制限事項等

  • 保存・復元するのは、「前の/次の折りたたみ可能行」で、移動できる箇所のみです。範囲選択して折りたたんだ箇所は、保存・復元しません。

  • 保存するのは、折りたたみ可能行の、

    • 折りたたみ状態
    • エディタ的行番号
    • 行頭から80文字までの内容(設定により変更可能)
    • 保存時のカーソル位置と、画面先頭行

    を、保存します。

  • 復元マクロは、基本的に行番号を元に復元を行います。

    1. 記録した行番号に移動し、折りたたみ可能行かどうかの判定
    2. 折りたたみ可能ならば、保存した内容と一致するかどうか判定。
    3. 一致しない場合は、保存した前後の折りたたみ位置の範囲で、保存した内容を検索し、見つかれば、状態を復元する。
  • 自動起動マクロで、復元マクロを使用する場合、タグジャンプ時にも、復元マクロが実行されます。カーソル位置の自動復元が無効の場合、起動時のカーソル位置を見て、実行を止めています。(カーソル位置が先頭でない場合は、復元を中断する) 自動復元が有効な場合は、マクロ実行後、カーソル位置を起動時の場所にしています。

  • 保存マクロ実行時に、確認のため、ダイアログが表示される場合があります。。

    • 設定ファイルがあり、折りたたみ可能箇所がない場合、設定ファイルを削除するか。
    • 折りたたみ可能箇所はあるが、折りたたんでいる所がない場合、状態を保存するか。

    マクロ設定ファイル、"foldable.ini"を編集することで、確認なしで実行可能になります。

    noask=1

    に、書き換えてください。

2.40.2 履歴(折りたたみ保存・復元マクロ)

2.40.2.1 foldable_load.mac
2009/10/18 Ver.1.0.0β1
  • 初版
2009/11/01 Ver.1.0.0β2
  • 各種設定をiniファイルから読み出すようにした。
  • マクロを実行する拡張子を設定可能にした。
2009/11/07 Ver.1.0.0β3
  • データファイルと一致しない場合に、無限ループになってしまうバグの修正 2010/03/16 Ver.1.0.0β4
  • データファイルと一致しない場合に、無限ループになってしまうバグの修正 その2
2011/07/30 Version.1.0.0β3
  • 秀丸エディタの切替に失敗した場合の処理を変更
2013/12/22 Version.1.0.0β4
  • ファイルの先頭が折りたたまれていた場合、検出できなかったバグの修正。
2.40.2.2 foldable_save.mac
2009/10/18 Ver.1.0.0β1
  • 初版
2009/10/24 Ver.1.0.0β2
  • grep、プログラムの実行結果、webブラウズモード、新規の場合は動作しないようにした。
  • 「ファイルを閉じる直前」で、動作が変になるのを修正。
2009/11/01
  • 各種設定をiniファイルから読み出すようにした。
  • マクロを実行する拡張子を設定可能にした。
2010/03/16 Ver.1.0.0β4
  • データファイルと一致しない場合に、無限ループになってしまうバグの修正 その2

目次へ

2.41 ファイルマネージャ枠切替マクロ

秀丸エディタVer.8から追加された、ファイルマネージャ枠の表示内容を切り替えるマクロです。

  • 順次切替マクロ Change_FileMangerPanel.mac
  • メニュー選択マクロ Select_FileMangerPanel.mac

上記2つのマクロの詰め合わせです。

2つのマクロは、ファイルマネージャ枠の内容を切り替えますが、フォーカスの移動は行いません。

2.42 プロジェクトにファイルを追加するマクロ

秀丸エディタVer.8.00より追加された、「プロジェクト」にファイルを追加するマクロです。

  • 開いているファイルを追加するマクロ
    AddProject_Files.mac
  • 指定されたフォルダにある、指定された拡張子のファイルを追加するマクロ
    AddProject_Tree.mac
  • プロジェクト編集支援マクロ
    hmbookEdit.mac.mac

の、3種類のマクロのセットになります。

圧縮ファイル内のファイルを、フォルダ構造を保持したまま解凍してください。

AddProject_Files.mac    ファイルを追加するマクロ
AddProject_Tree.mac     指定された拡張子のファイルを追加するマクロ
AddProject              フォルダ
├addproject_sub.vbs    「AddProject_Tree.mac」で使用するスクリプト(WSH)
├hmbookEdit.mac        プロジェクト編集支援マクロ
├hmbook.hilight        プロジェクト編集支援マクロで使用する、ツリー定義ファイル
└AddProject.html       説明ファイル

注意事項(共通)

  • 新規プロジェクトに追加する場合は、プロジェクトの名前と、保存する場所を選択します。 (無題のまま追加はできません。)
  • 追加する場所は、トップレベルか、新規作成するグループの下のみです。既存のグループに追加する事はできません。(プロジェクトの解析が面倒なので、既存グループへの追加を行う予定はない)
  • プロジェクトへの変更は、ファイルを直接操作するので、保存していない内容は、全て破棄されます。

2.42.1 開いているファイルを追加するマクロ(AddProject_Files.mac)

現在開いているファイルを、表示中のプロジェクト、または新規プロジェクトに追加します。タブモードの場合は、マクロを実行した、タブグループのみ、対象になります。

  1. プロジェクトの選択
    マクロを実行すると、今のプロジェクトか、新規プロジェクトに追加するか選択。
  2. 追加場所の選択
    トップレベルか、新規グループの下に追加するか選択。
  • 注意点

    • grep、プログラムの実行結果、webブラウズモードは追加しません。
    • 重複のチェックを行っているので、重複しているファイルは、追加されません。
  • 履歴 AddProject_Files.mac

    • Version.1.0.0
    2010/04/14
    • 初版
    2010/04/15
    • グループを作成し、その下に追加可能にした。
    • Version.1.0.1
    2013/10/03

    新規プロジェクトファイルを作る場合に、以下のような状態になるのを修正。

    • 「ファイルが既に開いている」と警告が出る。
    • 「キャンセル」した場合、レジストリを元に戻していなかった。
    • Version.1.0.2
    2013/12/07
    • 現状のプロジェクトファイルが新規だった場合、"現在のプロジェクトに追加"はできないので、 "新規プロジェクトに追加"へ行くようにした。
    • 現状のプロジェクトが、更新されていた場合、警告を表示するようにした。
    • ファイル選択をサブルーチン化した。
    • 処理順番を変更
    • 新規プロジェクトファイル選択時に、拡張子が".hmbook"でない場合、追加するようにした。
    • Version.1.0.3
    2017/01/05
    • プロジェクトファイル選択時に、「キャンセル」した場合の検出がうまくいっていなかったので修正。
    • ファイルを開くダイアログが、Windows Vistaタイプ の場合は、Windows2000タイプ へ変更するようにした。

2.42.2 指定されたフォルダにある、指定された拡張子のファイルを追加するマクロ(AddProject_Tree.mac)

指定されたフォルダ以下の、指定された拡張子のファイルを、全て追加します。

  1. プロジェクトの選択
    マクロを実行すると、今のプロジェクトか、新規プロジェクトに追加するか選択。

  2. 検索するフォルダの選択

  3. 追加する拡張子の入力
    デフォルトで、マクロを実行したファイルと同じ拡張子を表示します。必ず、"."(ドット)から、入力して下さい。

    例) .txt

    複数指定する場合は、";"(セミコロン)で区切って下さい。

    例) .txt;.mac
  4. 追加場所の選択
    トップレベルか、新規グループの下に追加するか選択。

  5. 指定された箇所に追加

  • 注意点
    • addproject_sub.vbsがないと、動作しません。 addproject_sub.vbsがメインの処理を行っています。
    • 拡張子指定に、ワイルドカード(?*)は使えません。使用した場合は、何も追加されません。
    • 重複のチェックは行っていません。既に追加されているファイルも追加します。
  • 履歴 AddProject_Tree.mac
    • Version.1.0.0

      2010/04/14
      • 初版
      2010/04/1
      • グループを作成し、その下に追加可能にした。
    • Version.1.0.1

      2013/10/03
      新規プロジェクトファイルを作る場合に、以下のような状態になるのを修正。
      • 「ファイルが既に開いている」と警告が出る。
      • 「キャンセル」した場合、レジストリを元に戻していなかった。
    • Version.1.0.2

      2013/12/06
      • 新規プロジェクトファイルを作る場合、選択したファイル名で保存できなかったバグの修正。 (AddProject_Files.macの変更を反映していなかった。)
      • 現状のプロジェクトファイルが新規だった場合、"現在のプロジェクトに追加"はできないので、 "新規プロジェクトに追加"へ行くようにした。
      • 現状のプロジェクトが、更新されていた場合、警告を表示するようにした。
      • vbs実行中は、タイトルバーを変更するようにした。
      • 不要コードの削除 2013/12/07
      • ファイル、フォルダ選択をサブルーチン化した。
      • 処理順番を変更 プロジェクト選択 → 検索するフォルダ選択 → 拡張子選択 → グループ選択
      • 新規プロジェクトファイル選択時に、拡張子が".hmbook"でない場合、追加するようにした。
    • Version.1.0.3

      2017/01/05
      • プロジェクトファイル選択時に、「キャンセル」した場合の検出がうまくいっていなかったので修正。
        • ファイルを開くダイアログが、Windows Vistaタイプ の場合は、Windows2000タイプ へ変更するようにした。

目次へ

2.43 プロジェクトに登録されているファイルを開くマクロ

秀丸エディタVer.8.00より追加された、「プロジェクト」に登録されたファイルを、全て開くマクロです。「ファイル」のみ対応しています。「フォルダ内のファイル一覧」は対象外です。

プロジェクト枠を表示させ、このマクロを実行して下さい。

  • 開いているファイルがある場合は、閉じることが可能です。閉じる場合、保存していないファイルがあると、保存するか問い合わせます。保存しない場合は、破棄されるので注意して下さい。
  • タブモードでない場合は、タブモードに変更することも可能です。

注意事項

  • 「ファイル」のみ対応しています。「フォルダ内のファイル一覧」は対象外です。
  • 保存していないプロジェクトの場合は、保存されている内容で、ファイルを開きます。

改版履歴

  • Version.1.0.0

    2010/04/14
    • 初版
    2010/04/17
    • 以下の問い合わせを追加
    • 既存のファイルを閉じる
    • タブモードでない場合、タブモードに変更する

目次へ

2.44 「他の秀丸エディタと内容比較」を行ったウィンドウを並べるマクロ

秀丸エディタ Ver.8からカラーマーカーを使用し、ファイルの差異がある個所に着色して、表示する事が可能になっています。
参考:秀丸エディタの紹介(Ver8.00対応版)(内容比較のカラー化)

このマクロは、「他の秀丸エディタと内容比較」を行ったウィンドウを、縦または、横に並べるマクロです。

  • タブモードの場合は、対象ファイルたタブグループから分離します。
  • 比較対象外のウィンドウ(タブグループ)がいる場合は、最小化します。
  • 「他の秀丸エディタと同時スクロール」もセットします。

このマクロの実行には、秀丸エディタVer.8.01β2以降が必要です。

  • Ver.8.00未満では実行できません。
  • Ver.8.00では、「復元」に失敗します。

「他の秀丸エディタと内容比較」を実行後、このマクロを実行してください。メニューが表示されるので、並べる方向を選択してください。比較したウィンドウを、指定された方向で並べます。また、「他の秀丸エディタと同時スクロール」もセットします。
マクロ実行前

このマクロで並べている最中に、再度マクロを実行すると、"復元する"が表示されます。 "復元する"を選択すると、並べる前のウィンドウサイズに戻します。「他の秀丸エディタと同時スクロール」を解除します。
マクロ実行後

注意事項

  • 何度も、このマクロを使用し、並び替えた場合、「復元」が正常に動作しない場合が、あります。並び替えたら、復元を実行するようにしてください。

改版履歴

  • Version.1.0.0

    2010/04/09
    • 初版
    2010/04/10
    • 復元機能を追加
    2010/04/12
    • タブモード時に復元が失敗するのを修正。
    2010/04/13
    • 設定/復元部を作り直し。(タブモードでも余計なウィンドウは最小化)
    2010/04/16
    • 同時スクロールの設定を解除するようにした。

目次へ

2.45 RSense用秀丸マクロ

「RSense - EmacsやVimなどに特化したRubyのための優れた開発援助ツール」 (2016/09/06現在アクセス不可)を、秀丸から使用するためのマクロです。

「Ruby開発支援ツールRSenseを秀丸から使ってみたの巻 - aikeの日記」で、公開されているマクロの改造版になります。(秀丸エディタVer.8以降専用版)

ベースマクロとの違い

  • 改行コードが、LF以外でも動作する。 LF以外の場合は、改行コードLFの一時ファイルを作成します。
  • Rsenseサーバーが起動していない場合は、自動的に起動する。 %home%に、"rsense-pid"がなければ、サーバーを起動します。ただ、プロセスが存在するかまでは、確認していないので、異常終了した場合等は、誤判定する場合もあります。
  • 補完は、メニューではなく、秀丸エディタの補完機能を使用している。
  • 型表示は、"macrodll.dll"の機能を使用し、ツールチップ風に表示しています。表示を消すには、何かキーを押してください。

RSense用秀丸マクロのセット 2010/07/11版

このマクロを実行するには、秀丸エディタVer.8以降 と macrodll.dll が必要です。以下のマクロが入っています。

  • 型表示用マクロ rsense_type_help.mac
    型表示用マクロ

  • コード補完用マクロ rsense_complete.mac
    コード補完用マクロ

  • rsense serverの起動/停止を切り替えるマクロ rsense_server_switch.mac

2.45.1 マクロを実行する前の準備

  1. RSenseを、動作可能な状態にして下さい。 Ruby、javaをインストールする必要があります。詳細は、RSense - ユーザーマニュアル(2016/09/06現在アクセス不可) を参照してください。
    「Ruby開発支援ツールRSenseを秀丸から使ってみたの巻 - aikeの日記」を参考に、"rsense_start.bat"と、"rsense_stop.bat"を作成し、パスの通った所に、おいて下さい。

  2. 秀丸エディタのVer.8以降をインストールし、"macrodll.dll"を秀丸エディタ本体と同じ場所に置いてください。

    macrodll.dllは"祝鳥"に含まれています。また、dll単独でも配布されています。

  3. 各マクロの先頭にある、以下の行を、環境に合わせて、書き換えてください。

    $rsense_command = "ruby c:/rsense/bin/rsense";
    $Rsense_Home    = "C:\\Rsense";

2.45.2 使用上の注意

  • Rsense v0.3の場合、ソースの解析が厳しくなっています。その為、ある程度、文法上問題ない状態で実行する必要があります。
    • 正常に解析できるパターン

      File.open('foo.txt'){|f|
          f.each{|line|
          line.sw
          }
      }
    • 異常となるパターン("}"が1つ足りない)

      File.open('foo.txt'){|f|
          f.each{|line|
          line.sw
      }

目次へ

2.46 折りたたみ状態でコピーするマクロ

通常、折りたたみ状態で範囲選択を行いコピーしても、折りたたんだ状態ではなく、通常の状態でコピーされます。このマクロは、折りたたんだ状態を保持してコピーを行います。

add_lineno_fold.mac実行画面

折りたたみ部分には、"↓..."が追加されますが、変更したい場合は、マクロを直接変更して下さい。($FoldMark を書き換える。)

00021|//折りたたみを示すマーク
00022|$FoldMark = "↓...";

FoldCopy.mac Version.1.0.0(2011/03/18)

  • 2011/03/18 Version 1.0.0
    • 初版

目次へ

2.47 ifdef切替マクロ

ファイルタイプ別設定にある、C言語プリプロセッサのディレクティブ #ifdef、#if の有効無効を、一時的に変更するマクロのセットです。

ifdef_dialog.mac、ifdef_menu.mac の Version.1.2.0以降は、#ifにも対応していますが、 "0"、"1"は、無視(切替の対象外)しています。デフォルトで、#ifdefと同じ検索パターンを使用しているので、演算式等はマッチしない可能性が高いです。必要に応じて、検索パターンを変更して下さい。

ifdef_dialog.mac

編集中のファイルで使用されている、#ifdef、#ifndef、#if をリストアップし、ダイアログ表示して設定を行います。また、データを保存します。

このマクロを実行するには 田楽DLL が必要です。

ifdef_dialog.mac実行画面

ifdef_menu.mac

カーソル位置にある、#ifdef、#ifndef、#if の設定をメニューを表示して切り替えます。有効/無効/設定なし を選択します。

ifdef_dialog.mac実行画面

ifdef_dataload.mac
ifdef_dialog.mac で保存したデータを元に、設定変更を行います。

2.47.1 改版履歴(ifdef切替マクロ)

2.47.1.1 ifdef_dialog.mac 履歴
2011/11/19 Version.1.0.0
  • 初版
2011/11/23 Version.1.1.0
  • ファイルの読み書きは、fsoを使用するようにした。
  • #if のデータが削除されてしまうので対処
2012/10/24 Version.1.2.0
  • #if にも対応したつもり。(演算式の場合は無理)
2012/10/28
  • #if検索用の正規表現パターン用文字変数を追加。(初期値は#ifdefと同じ)
2.47.1.2 ifdef_menu.mac 履歴
2011/11/19 Version.1.0.0
  • 初版
2011/11/23 Version.1.1.0
  • ファイルの読み書きは、fsoを使用するようにした。
  • #if のデータが削除されてしまうので対処
2012/10/24 Version.1.2.0
  • #if にも対応したつもり。(演算式の場合は無理)
2012/10/28
  • #if検索用の正規表現パターン用文字変数を追加。(初期値は#ifdefと同じ)
2.47.1.3 ifdef_dataload.mac 履歴
2011/11/20 Version.1.0.0
  • 初版
2011/11/23 Version.1.1.0
  • ファイルの読み書きは、fsoを使用するようにした。
  • #if のデータが削除されてしまうので対処
2011/12/10 Version.1.1.1
  • #ifdef等のカラー表示 が無効の場合は、終了するようにした。
2012/08/14 Version.1.1.2
  • setcompatiblemode の実行位置を変更。(処理を行う場合のみ実行する)
2012/10/28 Version.1.1.3
  • 不要な変数を削除

目次へ

2.48 改行コード切替マクロ

改行コードを変更するマクロです。メニューやステータスバーから変える方法と同じく、現在編集中のファイルの改行コードを変更します。

既存の手段との違いは、

  • (ステータスバー)マウスを使わなくて済む
  • (メニュー)多少操作の手間が減る

に、なります。

マクロ実行時に、引数を指定できます。

execmacro "NewLineCodeChanger.mac", "1";
改行コードを、"CR+LF"に設定
execmacro "NewLineCodeChanger.mac", "2";
改行コードを、"CR"に設定
execmacro "NewLineCodeChanger.mac", "3";
改行コードを、"LF"に設定

引数を指定しない場合や、引数が"1"、"2"、"3" 以外の場合は、メニューを表示し、改行を選択します。

NewLineCodeChanger.mac実行画面

目次へ

2.49 各種ヒストリーで常駐設定をON/OFFするマクロ

秀丸エディタで、ファイル、検索文字、置換文字の各履歴に追加された、履歴の常駐設定をON/OFFするマクロです。

  • SetResidentFile.mac :ファイル履歴用マクロ
  • SetResidentReplace.mac :置換文字用履歴用マクロ
  • SetResidentSearch.mac :検索文字用履歴用マクロ

Unicode対応版

  • SetResidentFileW.mac :ファイル履歴用マクロ
  • SetResidentReplaceW.mac :置換文字用履歴用マクロ
  • SetResidentSearchW.mac :検索文字用履歴用マクロ

このマクロの実行には、秀丸エディタVer.8.30β15以降 と田楽DLLが必要です。 Unicode対応版を使う場合には、海胆田楽が必要です。

SetResidentSearch.mac実行画面

田楽DLLは以下の場所から、入手して下さい。

田楽DLLのx64版は、以下の場所から入手できます。

Unicode版に必要な海胆田楽は以下の場所から入手できます。

2.49.1 各種ヒストリーで常駐設定をON/OFFするマクロの変更履歴

2012/12/28 Version.1.0.0
  • 初版
2013/01/12 Version 1.1.0
  • 秀丸エディタVer.8.30β16に対応
2014/09/14 Version 1.1.0a
  • Unicode版を追加

目次へ

2.50 HRESULTからエラーメッセージを取得するマクロ

秀丸エディタ Ver.8から追加された、COM関連機能で、コマンド実行時のHRESULT値から、エラーメッセージを取得するマクロです。 COM関連を操作する場合、エラーコードだけではわかりにくいです。エラーメッセージがあると、多少エラーの原因がわかりやすくなるかもしれません。 (どちらかというと、マクロ開発者向けのマクロです。)

エラーメッセージはあらかじめマクロ内に記録してあるため、取得出来ないものもあります。

execmacro文で、HRESULT値を引数に起動してください。戻り値にメッセージをセットします。

実行例

//関数の実行結果を取得
if(getresultex(10) == false){
    //失敗していたら、HRESULT値を取得
    ##n = getresultex(11);
    //HRESULT値を引数にマクロを起動
    execmacro macrodir + "\\HRESULT_ERRMESSAGE.MAC", str(##n);
    //戻り値を取得
    message str(##n) + "\n" + getresultex(-1);
}

目次へ

2.51 実行ファイルの種類を判定するマクロ

実行ファイルやDLLファイルが、32bit用なのか、64bit用なのかを調べるマクロです。(秀丸エディタ Ver.8以降が必要です。)

圧縮ファイル内の構成は以下のようになっています。

BinaryCheck.txt         説明用ファイル
BinaryCheck.mac         マクロ本体
CheckBinaryType.mac     32/64bit調査用マクロ
SelectFile.mac          ファイルを選択するためのマクロ

本体マクロ「BinaryCheck.mac」を実行してください。メッセージ表示後、ファイル選択ダイアログが表示されるので、判定したいexeファイルか、dllファイルを選択してください。選択したファイルの判定を行い、結果を表示します。

"SelectFile.mac"は、田楽DLL、macrodll.dllが見つかれば、使用します。見つからない場合でも、秀丸本体を使用し、ファイル選択用ダイアログを表示可能ですが、なるべく、田楽DLL、macrodll.dllを使うよう、各DLLを入手してください。各DLLは、秀丸本体と同じ場所か、マクロフォルダ、"SelectFile.mac"と同じ場所においてください。

目次へ

2.52 EditorConfigを反映させるマクロ

2021/07/13
秀丸エディタVer.9.00β2より、秀丸エディタ本体で「.editorconfig」に対応しているので、マクロは不要です。 insert_final_newline、max_line_length は未対応。

EditorConfig に関してはEditorConfigを参照してください。

.editorconfig を検索し、条件にマッチした場合は、その内容を現在のファイルに適用するマクロです。 (解析には、"EditorConfig C Core" を多少変更して使用しています。)

このマクロの実行には、ht_tools.dll Ver.1.22以降が必要です。 ht_tools.dllは、h-tom's Warehouse - ht_tools.dll から入手してください。

詳細は、EditorConfigを反映させるマクロのドキュメントを参照のこと。

2.52.1 EditorConfigを反映させるマクロの変更履歴

2.52.1.1 EditorConfigSet.mac
2013/10/31 Ver.1.0.0β1
  • 初版
2015/11/23 Ver.1.0.1β1
  • charsetに、"Shift_jis"、 "utf-16le"、 "utf-16be"を追加
  • charsetの変更は、「内容を保持したまま変換」するようにした。
2016/09/01 Ver.1.0.2
  • "insert_final_newline" 、"trim_trailing_whitespace" に対応
  • タブ<-->空白変換を追加。設定時に行うか、ファイル保存時に行うか設定可能。両方有効にした場合、ファイル保存時の変換は行われない。
2016/09/06 Ver.1.0.3
  • タブ<-->空白の変換が、ファイル保存時に実行できないバグの修正。
2021/04/19 Ver.2.0.0(未公開)
  • マクロの構造を根本的に変更。
  • max_line_length で小さくなる場合の問い合わせも、#confirm を使うようにした。
  • insert_final_newline プロパティの処理を自動起動マクロでも可能にした。
  • trim_trailing_whitespaceプロパティ の処理を自動起動マクロでも可能にした。
  • タブ<-->空白の変換 を止めた。(インデント以外のタブも巻き込まれる為)
2021/07/04 Ver.2.0.1
  • ht_tools.dll Ver.1.25.00 対応を追加。
2021/07/08
  • 「tab_width」のチェックに失敗していたのを修正。
2.52.1.2 EditorConfigSet_AutoRun.mac
2021/04/19 Ver.1.0.0
  • 初版。

目次へ

2.53 レイヤーに対応したカラーマーカー関連マクロ

秀丸エディタ Ver.8.30以降、カラーマーカーにレイヤー機能が追加されています。

現状では、デフォルト以外のレイヤーを使う場合は、マクロを使用する必要があります。また、レイヤーを指定した場合は、デフォルトとは別レイヤーになるので、メニューからは操作できません。その為、レイヤーを使ったマクロの作成時に必要になることから、レイヤーに対応した各コマンドを作成しました。

配布ファイルには、レイヤーに対応した、以下のマクロが含まれています

ColormakerSetLayer.mac
レイヤーに対応した各マクロで、対象にするレイヤーを指定するマクロ。
PrevcolormarkerLayer.mac
カラーマーカーの先頭に移動する(上方向)マクロ。
NextcolormarkerLayer.mac
カラーマーカーの先頭に移動する(下方向)マクロ。
DeleteColormarkerLayer.mac
範囲選択されている部分のカラーマーカーを消去するマクロ。
DeleteColormarkerallLayer.mac
カラーマーカーを全て消去するマクロ。

各マクロで、対象にするレイヤーを指定する場合は、"ColormakerSetLayer.mac"を実行します。実行すると、レイヤーを使用している場合、使用しているレイヤー名をメニュー表示するので、対象にしたいレイヤーを選択してください。各マクロは、選択したレイヤーを対象にします。

レイヤーを選択しない場合は、デフォルトの「名前なしレイヤー」を対象にします。 (通常のカラーマーカー命令と同じ)

2.53.1 レイヤーに対応したカラーマーカーの動作原理

"ColormakerSetLayer.mac"を使用すると、対象のレイヤー名を、ローカルな(ファイル個別の)静的変数"CM-LAYER"に保存します。

各コマンドは、静的変数"CM-LAYER"で指定されたレイヤーに対して、各操作を行います。 (デフォルトは""で、「名前なしレイヤー」になります。)

目次へ

2.54 現在の文字コードで保存できない文字を検索するマクロ

現在の文字コードで保存する場合に、保存できない文字がないかチェックするマクロです。

基本的には、Shift_JISのファイルで、Unicode特有の文字が、使われていないかをチェックする事を想定しています。他の文字コードでは試していませんが、たぶん問題ないと思います。

マクロを実行すると、ファイルの先頭から、現在の文字コードで保存できない文字を検索します。最初に見つかった場合のみ、カラーマーカーダイアログを開くので、文字色、背景色を指定してください。以降は、選択した色で見つけた箇所にカラーマーカー(レイヤー名:CodeCheck)をつけます。

検索が終了すると、見つけた個数を表示します。

2.54.1 見つけた箇所のカラーマーカーについて

保存できない文字にカラーマーカーをつけますが、レイヤー(レイヤー名:CodeCheck)を使用しているため、デフォルトでは、メニューのカラーマーカーからは、削除などの操作できません。別途[レイヤーに対応したマクロ|レイヤーに対応したカラーマーカー関連マクロ]が必要になります。

マクロを直接編集することで、メニューからも操作可能にすることもできます。

00010|//レイヤー名の設定 デフォルトの"CodeCheck"では、メニューから操作できません。(別途マクロが必用)
00011|//メニューから操作したい場合は、""に設定すること。
00012|$layer = "CodeCheck";

12行を目を以下のように変更すると、メニューからも操作可能になります。

00012|$layer = "";

カラーマーカーの「種類」は"編集したら消える"に設定しているため、編集を行うと消えます。

2.54.2 SaveCodeChecker.macの変更履歴

2014/02/11 Version 1.0.0
  • 初版

目次へ

2.55 選択した範囲を単語補完辞書に追加するマクロ

範囲選択している内容を、単語補完辞書に追加するマクロです。ファイルタイプ別設定で、単語補間辞書ファイルの指定がなければ動作しません。

選択した内容を単語補間辞書ファイルから検索し、マッチしなかった場合は、選択内容している内容を、辞書ファイルの最後に追加します。

2.55.1 AddDctionary_SelectWord.macの設定や注意事項

  • 単語補完辞書ファイルは、1行1項目であることを想定しています。

  • 検索は、大文字小文字を区別します。区別したくない場合には、検索文に、",nocasesense"を追加してください。

    00088|        //選択した内容+改行で検索を行う。
    00089|        searchdown2 "^\\Q" + $$1 + "\\E$", regular;
     ↓
    00089|        searchdown2 "^\\Q" + $$1 + "\\E$", regular, nocasesense;
  • 追加後の補間辞書ファイルの内容をソートする事も可能です。 (マクロファイルの直接編集が必要です。)

    00016|// 辞書ファイルを追加後にソートするかどうか  0:実行しない 1:実行する
    00017|#SORT = 1;

2.55.2 AddDctionary_SelectWord.macの変更履歴

2014/04/06 Version 1.0.0
  • 初版

目次へ

2.56 強調表示を選択するマクロ

カーソル位置と同じ強調表示の範囲を選択するマクロです。その為、ファイルタイプ別で、強調表示の設定を行わないと、役に立ちません。

制限事項

  • 改行をまたいで選択する事はないです。

  • colorcodeを使用しているため、ファイルタイプ別の設定-デザイン に影響されます。

  • カーソル位置とcolorcodeが同じ箇所しか選択しません。

    例) "hidemaru.exe" 文字定数、ファイル名が有効の場合
    
        *------------*
        *:文字定数部分
        -:ファイル名部分
        '"'(ダブルクォート)で、このマクロを実行しても、ダブルクォートしか選択しません。
        ファイル名部分で、このマクロを実行しても、ダブルクォートは選択されません。
  • 「行の強調」では動作しません。行選択してください。

  • 「普通の文字」の場合は、単語選択を実行します。

2.56.1 強調表示を選択するマクロの変更履歴

2015/02/23 Version.1.0.0
  • 初版

目次へ

2.57 「setcompatiblemode」の設定値を編集するダイアログ

秀丸マクロ制作者向けのマクロです。田楽DLLを使用した、「setcompatiblemode」の設定値を編集するダイアログです。

このマクロの実行には、別途、田楽DLLが必要になります。
使用している秀丸エディタに合ったDLLをダウンロードしインストールしてください。

マクロのインストールに、HidemaruMacroInstallerを使用すると、 DLLのチェック等、必要な処理を自動で行います。
手動でインストールする場合は圧縮ファイル内の"Version_Check.mac"を実行してください。

圧縮ファイルの内容

HidemaruMacroInstaller.lst(※1)  :HidemaruMacroInstaller用スクリプトファイル(通常は使用しない)
SetCompatibleMode_Dialog.mac     :マクロ
SetCompatibleMode_Dialog         :フォルダ
├SetCompatibleMode_Dialog.html  :説明ファイル
└Version_Check.mac              :補助マクロ(※2)

※1:HidemaruMacroInstallerを使用した場合は、コピーされません。
※2:HidemaruMacroInstaller用スクリプトファイルから起動されるマクロ。
   田楽DLLのロードチェックを行い、なければダウンロード先を開くか問い合わせる。

SetCompatibleMode_Dialog.mac実行画面1 SetCompatibleMode_Dialog.mac実行画面2

2.57.1 「setcompatiblemode」の設定値を編集するダイアログの変更履歴

2015/07/07 Ver.1.0.0β1
  • 公開
2016/04/22 Ver.1.0.0
  • 秀丸エディタVer.8.58対応
2017/06/18 Version 1.0.1
  • 秀丸エディタVer.8.73対応
2019/12/01 Version 1.0.2
  • 秀丸エディタVer.8.90対応
2021/09/18 Version 1.1.0
  • 項目が増えたので、タブを使用するようにした。
  • 秀丸エディタVer.9.00β対応
2022/09/09 Version 1.2.0
  • Ctrl + PageUp/PageDown キーで、タブを移動できるようにした。
  • "範囲選択状態での~"のショートカットキーが重複していたので修正。

目次へ

2.58 Another_HTML-lint5でhtmlをチェックするマクロ

Another HTML-lint 5 ゲートウェイサービス は、株式会社ジゾンが提供する、HTMLの構文チェックフリーツールです。

このマクロは、上記サイトのゲートウェイサービスを使用し、html構文のチェックを行うマクロです。その為、サービスへアクセスするための通信環境が必要になります。通信できない環境では実行に失敗します。

秀丸エディタでチェックしたいhtmlファイルを開き、このマクロを実行してください。ゲートウェイサービスにアクセスし、結果を保存したhtmlファイルを、規定のwebブラウザで表示します。

htmlファイルを保存していない場合には、全内容をコピーした一時ファイル(Another_HTML-lint5_tmp.html)を作成し、このファイルを使ってチェックを行います。(実行後に自動削除)

圧縮ファイルには以下のファイルが入っています。

2.58.1 Another_HTML-lint5でhtmlをチェックするマクロの変更履歴

2016/02/09 Ver.1.0.0
  • 初版
2016/05/25
  • 保存しなくても実行できるようにした。 (一時ファイルに保存してから実行するようにした。)
  • チェック結果の文字コードがUTF-8だった場合、htmlの先頭にBOMが付いていたので、削除するようにした。
2016/05/28
  • 元のhtmlファイルの空行が、チェック結果だと他の行と重なってしまっていたので対処。 (チェック結果を書き換えて対処)

2.58.2 Another_HTML-lint5でhtmlをチェックするマクロの注意事項や制限事項など

  • 株式会社ジゾンが提供するゲートウェイサービスを使用しています。サーバーに過大な負荷がかかるような使い方はしないようにしてください。

  • チェック結果を保存するファイル名は固定です。(マクロと同じ場所に、Another_HTML-lint5_result.html を作成する。) 一度に複数のhtmlファイルのチェックを行うと、チェック結果を上書きする事になります。

  • チェックするhtmlは、ファイル全体をPOSTで送信しています。範囲選択した範囲部分のみ等、部分のチェックには対応していません。

目次へ

3 CompleteX関連

3.1 リストボックスを使ったファイルの選択

「CompleteX」の同梱されている、ファイル名補完の"CompletePath.mac"を改造した、ファイル名を補完するのではなく、選択したファイルを開くマクロです。リストボックスを使用し、「ファイルを開くダイアログ」と同じような機能を提供します。

このマクロの実行には、「CompleteX(v3.03以降)」が必要です。 CompleteXは以下のwebサイトから入手できます。

まず、CompleteXのインストールを行ってください。

圧縮ファイル内には以下のファイルが格納されています。

  • CompleteOpen.mac
  • CompleteOpen.txt
  • CompleteOpen.ini

インストール終了後、"CompleteX"フォルダに圧縮ファイル解凍してください。

ファイル選択時、

  • Enter    (秀丸エディタで開く)
  • Shift+Enter (関連づけで開く)

という動作になります。

"Ctrl+Enter"の場合、設定メニューを開き、表示内容を変更できます。
設定メニュー

  • ファイルマスクの変更 → リストボックスに表示されるファイルの種類を変更
  • ドライブ変更     → ドライブの変更
  • フォルダヒストリ   → ファイルヒストリから選択

以下の二つは、設定ファイルを作成すると表示されます。

  • ファイルマスク選択  → あらかじめ設定してあるファイルマスクに変更
  • フォルダ選択     → あらかじめ設定してあるフォルダに変更

改版履歴

2007/04/05 Ver 1.0.0
  • 初版

3.1.1 制限事項(リストボックスを使ったファイルの選択)

  • 候補表示のためキー入力を行うと、マクロを実行したファイルの内容を、一時的に改変しますが、マクロ終了時に、元に戻します。
  • 候補表示時に、改変を行う為、webブラウズモード等、改変できないファイルでは、通常のファイルを開くダイアログを表示します。

4 持ち出しキット関連

4.1 単語補間辞書ファイルのパス補正マクロ

持ち出しキットを使用し、USBメモリから秀丸エディタを起動した場合、設定個所によっては、持ち出しキットが自動的にドライブを補正してくれます。ファイルタイプ別設定の単語補完辞書は、補正の対象外なので、ドライブがずれてしまうと、単語補完が機能しなくなります。

このマクロは、秀丸エディタ本体と、単語補間辞書ファイルドライブが違っていた場合に補正を行うマクロです。 (自動起動マクロの「ファイルを開いた直後」に設定しておくといいでしょう。)

改版履歴

2013/05/22 Version.1.0.0
  • 初版

4.1.1 制限事項

持ち出しキットで使用する秀丸エディタと同じドライブに、単語補間用辞書ファイルがあることが、前提になっています。

5 他のマクロから呼び出して使うマクロ

他のマクロから呼び出して使うことを前提にした、各種マクロです。

各マクロを、execmacro文で呼び出し、結果を resultex(-1) で受け取ります。引数、戻り値ともに、文字列型になります。

例)
execmacro "popup.mac", "メッセージ", "待ち時間(秒)", "タイトル", "オプション";
$popup = getresultex(-1);
message $popup;

5.1 ポップアップダイアログを表示するマクロ

公開終了 秀丸エディタ Ver.8.71 以降は、message文が拡張され、ボタンの種類や、デフォルトボタンを指定できるようになってます。

  • popup.mac 2013/11/02 添付の説明ファイル(popup.html)
2013/10/29 Version 1.0.0
  • 初版

WSHを使って、ポップアップダイアログを表示するマクロです。 message文、question文との違いは以下になります。

  • 指定時間で自動的に閉じることができる。

  • ボタンの種類が選べる。

    [OK]
    [OK]、[キャンセル]
    [中止]、[再試行]、 [無視]
    [はい]、[いいえ]、 [キャンセル]
    [はい]、[いいえ]
    [再試行] 、[キャンセル]
  • デフォルトのボタンを設定可能

popup.macで表示したダイアログ

5.2 特殊フォルダのパス取得

2013/11/02 Version 1.0.0
  • 初版

WSHを使って、Windowsの特殊フォルダのパスを返すマクロです。

引数に指定できる文字列は以下になります。

AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
デスクトップ
Favorites
お気に入り
Fonts
MyDocuments
マイドキュメント
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates

5.3 フォルダ選択ダイアログ

2013/11/02 Version 1.0.0
  • 初版

WSHを利用し、秀丸マクロで、フォルダ選択ダイアログを表示するマクロです。

5.4 ファイル選択ダイアログ

公開終了 秀丸エディタ Ver.9.16 以降は、「browsefile関数」が使用できます。

  • SelectFile.mac 2013/11/02 添付の説明ファイル(SelectFile.html)
2013/10/12 Version 1.0.0
  • 初版
2013/10/19 Version 1.1.0
  • HTAの処理を追加

秀丸マクロで、ファイル選択ダイアログを表示するマクロです。

外部プログラムとして、以下のどれかを使います。

  • 田楽DLL
  • macrodll.dll
  • MSComDlg.CommonDialog(要開発環境)
  • HTA(MSHTA.EXE OSに標準添付されている)

外部プログラムが見つからない場合、または起動に失敗した場合は、秀丸本体を使用しますが、DLLを入手することをお勧めします。

田楽DLL、macrodll.dllは、以下のどこかに配置してください。

  • 秀丸本体と同じ場所
  • マクロフォルダ
  • 呼び出すマクロと同じ場所

5.4.1 各DLLの入手先

目次へ


top秀丸エディタマクロ