マクロの制限事項は何?No.02282
Iranoan さん 09/02/14 00:06
 
 秀丸担当さん今日は、Iranoan です。
 秀まるおさんが、
http://www.maruo.co.jp/hidesoft/2/x25747_.html#26142
にて、
>  あと、マクロ側に1つ問題がありました。ファイル名にユニコード文字という
> か、Shift-JIS範囲外の文字(欧文文字など)があるとダメみたいです。なので、
> ファイル名の中にそういう文字「ドイツ語のウムラウト付きの文字とか」を使っ
> ている物があれば、そのファイル名を普通の英数字だけのファイル名に変更して
> からマクロ実行してほしいです。
と書かれています。これに付いての質問です。秀まるおさんが具体的にどのよ
うなマクロをお送りになったか解りませんが、これは何処でそのような制限が
出るのでしょう? 今思いつくのは、
・$s 等の文字列変数で保存できる文字コードの範囲
・gettext() 等の関数の返り値
・filename 等のキーワード
・run 文若しくは dir コマンドの制限
あたりです。「マクロを作るときに気を付けるべき点はどこか?」が主たる理
由ですが、「ひょっとするとマニュアルにその種の制限を追記したほうが良い
かな?」とも思います。

[ ]
RE:02282 マクロの制限事項は何?No.02288
秀丸担当 さん 09/02/16 09:54
 

>と書かれています。これに付いての質問です。秀まるおさんが具体的にどのよ
>うなマクロをお送りになったか解りませんが、これは何処でそのような制限が
>出るのでしょう? 今思いつくのは、
>・$s 等の文字列変数で保存できる文字コードの範囲
>・gettext() 等の関数の返り値
>・filename 等のキーワード
>・run 文若しくは dir コマンドの制限
>あたりです。「マクロを作るときに気を付けるべき点はどこか?」が主たる理
>由ですが、「ひょっとするとマニュアルにその種の制限を追記したほうが良い
>かな?」とも思います。

これは、run文の制限でした。
run "cmd.exe /c dir /b *.txt >con";
とするとファイル一覧が取得できますが、cmd.exeが標準出力に出すものは
Unicodeではないので、Unicodeのファイル名があると ? になったりしていまし
た。
grepを使ったファイル一覧取得であれば問題ないと思います。
gettext,filenameなど秀丸のマクロそのものは大丈夫だと思います。

run "cmd.exe /u /c dir /b *.txt >con";
とすると標準出力にUnicodeを使って出力しますが、秀丸エディタ側がUnicodeの
出力を解釈していないのでできませんが、V8.00で何らかの方法でできるように
する予定です。

[ ]
RE:02288 マクロの制限事項は何?No.02292
Iranoan さん 09/02/16 14:45
 
 秀丸担当さん今日は、Iranoan です。
> これは、run文の制限でした。
<snip>
> run "cmd.exe /u /c dir /b *.txt >con";
> とすると標準出力にUnicodeを使って出力しますが、秀丸エディタ側がUnicodeの
> 出力を解釈していないのでできませんが、V8.00で何らかの方法でできるように
> する予定です。
 run 文と標準出力の組み合わせで制限が出てくるのですね。
 どちらにしても、Ver.8.00 で改善されるなら、マニュアルに何か書く必要
はありませんね。

 御説明有難うございました。

[ ]