English help on website



文字列中の\についての警告(Ver9.34対応版)
とりあえず警告メッセージを出さなくする方法について

[その他]→[動作環境...]の「トラブル対策」ページ中の「その他のトラブル対策...」を押して、そこにある

マクロで問題のある文法の警告を出さない

 のオプションをONにしてください。それでこの警告を出さなくすることが出来ます。よそ様の作成されたマクロを使うだけでしたら、とりあえずこの方法で回避お願いします。


詳しい説明
 秀丸マクロの文字列中の「\」はマクロの文字列としてのエスケープ文字です。
 「\」そのものを表現する場合「\\」と書く必要があります。

 例えば以下のように書くと、「\\」は1つだけ表示されます。
	message "\\";
 以下のように書くと、「\」は表示されず、「d」だけになります。「\」を書く意味がありません。
	message "\d";
 こういう意味の無いエスケープ文字があるときに警告が表示されます。

 この警告は、正規表現をマクロの文字列として記述するときに、誤った記述を防ぐためにあります。
 例えば、検索ダイアログで、正規表現の「\d」(つまり[0-9]相当)と書くと数字を検索できます。
 しかしマクロでは以下のように書くと数字ではなく、「d」だけの検索になります。「\」を書く意味がありません。
	searchdown "\d",regular;  //「d」の検索になってしまう
 マクロの文字列で正規表現の「\d」を書く場合は以下のように書きます。
	searchdown "\\d",regular;  //正規表現で「\d」の検索
 別の手段として、V8.66以降では、文字列を、@"文字列"で書く方法や、R"(文字列)"で書く方法があります。この書き方の場合は\を二重に書く必要がありません。
 詳しくはマクロヘルプの「目次− 式について−文字列 」のページを参照してください。


 従来通り間違って書かれていても警告メッセージを出さなくしたい場合は、[その他]→[動作環境...]の「トラブル対策」ページの中にある「その他のトラブル対策...」の先にある

マクロで問題のある文法の警告を出さない

 のオプションをONにしてください。これでとりあえず、マクロの手直しをしなくても警告無しでマクロ実行出来るようになります。