7. 「文書確認マクロ」(Ver1.3以降)があれば、連動が可能。
Written at 1998.06.09
Last Update at 2001.04.28
秀丸の[その他]-[動作環境]-[パス]-[マクロファイル用のフォルダ]か、設定して無ければ、秀丸本体(hidemaru.exe)が有るフォルダに、「文書確認マクロ」(Ver1.3以降)(文書確認.mac)が、有る状態で「改行文字指定マクロ」を起動すると、次のダイアログがポップアップします。
通常のダイアログ以外に、[起動時(文書確認)]チェックボックスと[文書確認]ボタンが追加されます。
・[起動時(文書確認)]チェックボックス
このチェックボックスを[ON]にして、[Save]すると、マクロ起動時に編集範囲においての文書確認を行います。確認する項目については後述します。
・[文書確認]ボタン
このボタンを押すと、編集範囲においての文書確認を行います。確認後、結果を表示し、メインダイアログに戻ってきます。この時、編集範囲は継続して保持していますので、続けて「改行文字指定」を行えます。
文書確認に移行すると、次のダイアログをポップアップします。
Ver1.3での表示です。(2001.04.28)
このダイアログは、「改行文字指定マクロからの連動時」で「マクロサーバがインストールされている場合」に限り、表示されます。
・[「改行文字指定マクロ」を自動設定する]チェックボックス
このチェックボックスを[ON]にすると、下記設定に従って、「改行文字指定マクロ」を[自動設定]出来ます。
しかし、[自動設定]では、[確認]関係のチェックボックスを設定しません([削除確認]など、確認と付くチェックボックス)。
[OFF]の場合は、「文書確認マクロ」を単独起動した時と、同等動作します。
・[インデントについて]チェックボックス (Ver1.3時追加 2001.04.28)
このチェックボックスを[ON]にすると、下記チェックボックスの設定が有効になります。
・[行頭の空白を削除]
行頭にそれぞれの空白が検索された場合にのみ、削除する設定にします。
・[指定文字数折返で空白を有効]
それそれの空白が検索された場合にのみ、指定文字数折返動作時、その空白でインデントされる設定にします。
・[無指定改行文字について]チェックボックス
このチェックボックスを[ON]にすると、下記ラジオボタンの設定が有効になります。
・[そのすべてを改行指定文字に]
検索された、「無指定改行文字」の全てを、「改行文字指定マクロ」の[改行(全半角)文字指定]エディットボックスに追加します。
・[検索件数(任意)以上の文字を改行指定文字に]
検索された、「無指定改行文字」の内、指定された件数以上の文字だけを、「改行文字指定マクロ」の[改行(全半角)文字指定]エディットボックスに追加します。
・[検索件数/編集範囲行=(任意)%以上の文字を改行指定文字に]
検索された、「無指定改行文字」の内、指定された割合(編集範囲行数に対する検索件数の割合)以上の文字だけを、「改行文字指定マクロ」の[改行(全半角)文字指定]エディットボックスに追加します。
ちなみに、秀丸マクロでは、小数を(多分)使えない為、小数点以下は切り捨てられる事に注意して下さい。
・[無指定文字改行以下について]チェックボックス
このチェックボックスを[ON]にすると、下記ラジオボタンの設定が有効になります。
・[積極的にキャンセル]
積極的にキャンセルする設定です。
つまり、改行のみ行・行頭空白・行頭TABの内、検索されたものに関してのみ、キャンセルを促す「改行文字指定マクロ」の設定を有効にするという……わかりにくいですね。ここで言いたいのは、あくまで、検索された物に関してのみ、設定するということで、何が何でもキャンセルという訳じゃあないんです。
・[(改行のみ行・行頭空白・行頭TAB)でキャンセル]
それぞれのチェックボックスの状態に従ってキャンセルを促す「改行文字指定マクロ」の設定を有効にします。これも、関係ない場合(検索されなかった場合)は設定しません。
・[Save]ボタン
秀丸本体があるフォルダに、"hmretdel.ini"(「改行文字指定マクロ」の設定保存ファイル)が有れば、そこに、現在の設定を保存します。
ここで保存された設定は、次回起動時から、読み込まれるようになります。
[OK]ボタンで文書確認を実行し、[キャンセル]ボタンで、「改行文字指定マクロ」に戻ります。
単独で起動すると、まず、無指定改行文字のリストを作成するかの問い合わせがあります。(連動時で[自動設定]を行った場合は、常に「作成する」事にした為、問い合わせはありません)
文書確認には、「改行文字指定マクロ」連動時であれば、その設定状態、単独起動であれば、"hmretdel.ini"(「改行文字指定マクロ」の設定保存ファイル)から設定を使用(使用する設定は、
[改行全半角文字編集]エディットボックス
[改行全角文字指定]ボタンと、その[有効]チェックボックス
[改行半角文字指定]ボタンと、その[有効]チェックボックス
です)します。つまり、その設定された指定文字以外の、改行している文字が「無指定改行文字」となります。
問い合わせに答えると、文書確認を行い、終了すると、次のダイアログを表示します。
Ver1.3での表示です。(2001.04.28)
ちなみに、「無指定改行文字」のリストを作成しないとしている場合は、下部の「表示しますか?」云々は、聞いてきません。作成するとしていて、表示する文字がなかった場合も聞いてきません。
また、「編集範囲内」の横の括弧内は、総行数ですが、その値は、[・改行のみ行]、[・指定文字改行(無条件)]、[・指定文字改行(確認可)]、[・無指定文字改行]、[(その次行以下において、の)・改行のみ行]の合計となります。
全ての行数は論理行数(エディタの折り返し文字数に影響されない行数)換算です。
ここで[はい]を選んで、リストを表示すると、次のダイアログが表示されます。
Ver1.1での表示です。(1998.06,16)
[ ]内の文字が、「無指定改行文字」で、"="の右側の数字が、その文字の検索件数です。
例では、表示が終わっていますが、文字数が多く、複数ページに別れる場合は、次ページへの移動を問い合わせます。
また、下部に出ているように、最終ページまで表示すると、文字列をクリップボードに転送します。(連動時で[自動設定]を行った場合は、クリップボード転送を行わない為、「終了しました」のメッセージが出ます)
この状態で、"張り付け"を行うと、
認ー行れい下数を名定存得グへ示
となります。
以下注目
そこで、この文書確認の何処を見て、「改行文字指定マクロ」の設定を行うかなんですが、この結果と「改行文字指定マクロ」の設定ダイアログは、大きく分けて2つの項目があります。
それは、[指定された文字での改行]と[指定されていない文字での改行]です。
「改行指定文字マクロ」と、文書確認結果との関わりありは、
編集範囲内において、
・改行のみ行 [行頭の設定] ・ [指定文字数折返]
・行頭半角空白----------------インデント(空白)削除C ・ インデント(空白)有効C
・行頭全角空白----------------インデント(空白)削除C ・ インデント(空白)有効C
・行頭TAB--------------------インデント(空白)削除C ・ インデント(空白)有効C
[改行全角半角文字指定]
・指定文字改行(無条件)---------エディットボックス(無条件) ・ 全/半角文字指定B / 有効C
・指定文字改行(確認可)---------エディットボックス(確認可)
[改行キャンセル時の設定]
・無指定文字改行--------------確認C
その次行以下において、
・改行のみ行---------------改行のみ行削除C
・行頭半角空白-------------次行先頭が空白だとキャンセルしないC ・ 空白削除C
・行頭全角空白-------------次行先頭が空白だとキャンセルしないC ・ 空白削除C
・行頭TAB-----------------次行先頭がTABだとキャンセルしないC ・ 空白削除C
注) C:チェックボックス B:ボタン
Ver1.3改訂 (2001.04.28)
となります。
これで、それぞれの対応先を見て、設定の確認や、どのチェックボックスが必要で、必要でないかとか判断出来ると思います。
例えば、
「(その次行以下において、の)改行のみ行があるから、[改行のみ行削除]チェックボックスは、[ON]だな」
などの判断です。
また、「無指定改行文字リスト」は、抜けている改行指定文字を追加するのに役に立つと思います。
ちなみに、[改行のみ行][行頭空白][行頭TAB]と、[(その次行以下において、の)改行のみ行][(その次行以下において、の)行頭空白][(その次行以下において、の)行頭TAB]は、ダブりません。それぞれの合計数が、「全ての改行のみ行・行頭空白・TAB行の行数」となります。
以上の判断を、「改行文字指定マクロ」から連動して、[自動設定]を有効にすると、本当に自動で出来ます。
ほとんどの設定は、「改行文字指定マクロ」上で行いますが、一部、マクロ本体での設定があります。
// 改行指定文字マクロ用文書確認マクロ Ver1.0 (1998.06.09)
//----------------------------------------------------------------------------
//・「改行文字指定マクロ」を実行する前にしておいた方がいい文書についての確認
// を行うマクロ。
//・「改行文字指定マクロ Ver3.43(以降)」からの連動が可能。
//・"hmretdel.ini"があれば、そこから(改行指定文字の)設定を取得する。
//
//・[文書確認結果]の表示は、
// 編集範囲内(総行数表示)において、
// ・改行のみ行 : 行 (注◎)
// ・行頭空白 : 行
// ・行頭TAB : 行
// ・指定文字改行(無条件): 行 (注◎)
// ・指定文字改行(確認可): 行 (注◎)
// ・無指定文字改行 : 行 (注◎)
// その次行以下において、
// ・改行のみ行 : 行 (注◎)
// ・行頭空白 : 行
// ・行頭TAB : 行
// の様になります。全ての行数は論理行数(エディタの折り返し文字数に影響され
// ない行数)です。(注◎)の行数の合計が総行数となります。
//・無指定文字改行については、マクロ起動時に、そのリストを作成するかとの問い
// 合わせがありますので、必要ならば作成とし、結果表示後、さらに表示させて下
// さい。最終ページまで表示すると、文字列をクリップボードに転送します。
//----------------------------------------------------------------------------
// 注意:NEC PC98シリーズ以外の機種でこのマクロを動作させる場合は、下の変数
// "#pc98"に、"0"を代入して下さい。
//----------------------------------------------------------------------------
// 動作確認:秀丸 for Windows95 Ver2.22
//----------------------------------------------------------------------------
#lx=10; //--- 無指定改行文字リストの大きさ(X方向)
#ly=5; //--- 〃 (Y方向)
$inifile="hmretdel.ini"; //--- 設定ファイル名
#pc98=1; //--- NEC PC98機種依存文字(0:OFF 1:ON)
$word=""; //---「改行文字指定マクロ」がない環境で、改行指定文字(無条件)
// を設定する時は、この変数に代入して下さい。
//----------------------------------------------------------------------------
$inifile=hidemarudir+"\\"+$inifile;
beginclipboardread;
変数"#lx"・"#ly"は、無指定改行文字のリストの大きさで、その数字は、文字、行の数です。
「改行文字指定マクロ」の指定文字を使うので、当然「NEC
PC98機種依存文字」の設定も必要です。これについての解説はこちらで。 Ver1.2改訂で、不要になりました。(1999.05.05)
変数"$word"には、改行指定文字を設定することが出来ますが、これは「改行文字指定マクロ」が無い環境用です。秀丸本体の有るフォルダに"hmretdel.ini"が存在している時に、ここの、この変数に文字列が代入してあっても、無効となります。