変換リストによる連続置換マクロNo.00310
mtriver さん 14/12/14 16:29
 
mtriver です。

ListReplace.mac  Ver3.04 ですが、暫く振りに使ったところ、以下のような現象
に見舞われてしまいました。

変換しようとすると、

templist.txt - は空のファイルです。削除しますか?

いいえ(&N) → 変換リストが空です。

はい(&Y) →

変換リスト用のファイルがオープン出来ませんでした。
ファイル名 = c:\tool\hidemaru\macro\templist.txt
エラーコード = 2

何が原因かお分かりでしょうか?
因みに、対象ファイル・リストファイル共に日本語(Shift+JIS)です。

ListReplace.ini

[Option]
size=0
backup=0
dx=0
dy=0
tempnumdefault=20
information=1
showfilerep=0
selectlimit=0
reserveselect=0
imeon=0
output=1
firstcheck=1
listcommentmark=/*
[Main]
object=2
direction=1
closeother=1
trim=1
backup=0
information=1
listfile=F:\Home\BatWork\list\0_2014to2015.lst
seperate=,,
wild=*.bat

[ ]
RE:00310 変換リストによる連続置換マクロNo.00311
山紫水明 さん 14/12/14 17:56
 
 mtriverさん,

>ファイル名 = c:\tool\hidemaru\macro\templist.txt
>listfile=F:\Home\BatWork\list\0_2014to2015.lst

 2つのファイル名が違うのが気になります。
 とりあえず,最初のダイアログでの変換リストのファイル名のところで実在す
るファイル名をしてしているかどうか確認していただけませんか。

                   山紫水明
                   SANSHISUIMEI

[ ]
RE:00311 変換リストによる連続置換マクロNo.00312
mtriver さん 14/12/14 18:12
 
mtriver です。

: >ファイル名 = c:\tool\hidemaru\macro\templist.txt
: >listfile=F:\Home\BatWork\list\0_2014to2015.lst
:
:  2つのファイル名が違うのが気になります。
:  とりあえず,最初のダイアログでの変換リストのファイル名のところで実在す
: るファイル名をしてしているかどうか確認していただけませんか。

早速のフォローありがとうございます。

その後の状況を先ず書かせていただきます。
全て、同じファイルに対して同じ listfile で試しました。

1)秀丸エディタ Version 8.50 Beta 18 Windows 7 Professional x64 SP1 → NG
2)秀丸エディタ Version 8.50 Beta 18 Windows 8.1 Professional x64   → NG

全く同じ症状でしたので、古いPCを引きずり出してやってみました。

3)秀丸エディタ Version 8.35 Windows XP Professional SP3 x86  → OK

と言うことで、秀丸 または OS x64 が絡んでいるような気がしました。

templist.txt の方は自動的に消されるのか templist.bak が残っているのみでした。

[ ]
RE:00312 変換リストによる連続置換マクロNo.00313
山紫水明 さん 14/12/14 18:27
 
 mtriverさん,

>3)秀丸エディタ Version 8.35 Windows XP Professional SP3 x86  → OK
>
>と言うことで、秀丸 または OS x64 が絡んでいるような気がしました。

変換リスト用のファイルがオープン出来ませんでした。
ファイル名 = c:\tool\hidemaru\macro\templist.txt
エラーコード = 2

 このエラーメッセージ自体は,変換モジュールが出しているものと思われます。
 64 bit の場合は HmfListReplace.hmf64(64bit版用)を使用する必要がありま
すが,その点はいかがでしょう。

                    山紫水明

[ ]
RE:00312 変換リストによる連続置換マクロNo.00314
mtriver さん 14/12/14 18:29
 
mtriver です。

: 1)秀丸エディタ Version 8.50 Beta 18 Windows 7 Professional x64 SP1 → NG
: 2)秀丸エディタ Version 8.50 Beta 18 Windows 8.1 Professional x64   → NG
:
: 全く同じ症状でしたので、古いPCを引きずり出してやってみました。
:
: 3)秀丸エディタ Version 8.35 Windows XP Professional SP3 x86  → OK
:
: と言うことで、秀丸 または OS x64 が絡んでいるような気がしました。

多分、原因が分かりました。

    if( existfile( hidemarudir + "\\HmfListReplace.hmf64") ) $HmfListReplace =
"HmfListReplace";

で、HmfListReplace.hmf64 を使うと起こるようです。このファイルをリネームしたら
まともに動きました。

[ ]
RE:00314 変換リストによる連続置換マクロNo.00315
山紫水明 さん 14/12/14 20:36
 
 mtriverさん,

>多分、原因が分かりました。
>
>    if( existfile( hidemarudir + "\\HmfListReplace.hmf64") ) $
HmfListReplace =
>"HmfListReplace";
>
>で、HmfListReplace.hmf64 を使うと起こるようです。このファイルをリネーム
>したらまともに動きました。

 動くようになってよかったと思います。
 こちらでは64ビットの環境がないのでわかりませんが,これはマクロを書き
換えたということでしょうか,それともファイル名そのものを書き換えたという
ことでしょうか。

                    山紫水明

[ ]
RE:00315 変換リストによる連続置換マクロNo.00316
mtriver さん 14/12/14 20:49
 
mtriver です。

: >で、HmfListReplace.hmf64 を使うと起こるようです。このファイルをリネーム
: >したらまともに動きました。
:
:  動くようになってよかったと思います。
:  こちらでは64ビットの環境がないのでわかりませんが,これはマクロを書き
: 換えたということでしょうか,それともファイル名そのものを書き換えたという
: ことでしょうか。

\Hidemaru\HmfListReplace.hmf64_ とリネームして使わないようにしただけです。

[ ]
RE:00316 変換リストによる連続置換マクロNo.00317
山紫水明 さん 14/12/14 21:47
 
 mtriverさん,

>\Hidemaru\HmfListReplace.hmf64_ とリネームして使わないようにしただけです。

 情報ありがとうございます。
 変換モジュールを使わなければスピードのメリットがなくなりますが,大量
データでなければ,問題ないでしょう。
 なぜ使えないのか現在のところわかりませんが,しばらくこのままでいきたい
と思います。
                    山紫水明

[ ]
RE:00314 変換リストによる連続置換マクロNo.00318
mtriver さん 14/12/15 11:30
 
mtriver です。

: : 1)秀丸エディタ Version 8.50 Beta 18 Windows 7 Professional x64 SP1 → NG
: : 2)秀丸エディタ Version 8.50 Beta 18 Windows 8.1 Professional x64   → NG
: :
: : 全く同じ症状でしたので、古いPCを引きずり出してやってみました。
: :
: : 3)秀丸エディタ Version 8.35 Windows XP Professional SP3 x86  → OK
: :
: : と言うことで、秀丸 または OS x64 が絡んでいるような気がしました。

: で、HmfListReplace.hmf64 を使うと起こるようです。このファイルをリネームしたら
: まともに動きました。

一寸気になったので、3)の環境に HmfListReplace.hmf 入れて動かしてみました。

結果は、x64 と同様に NG です。
: 変換しようとすると、
:
: templist.txt - は空のファイルです。削除しますか?

ご指摘された以下の部分が気になります。これはマクロ内で作成されていますよね?

: >ファイル名 = c:\tool\hidemaru\macro\templist.txt
: >listfile=F:\Home\BatWork\list\0_2014to2015.lst
:
:  2つのファイル名が違うのが気になります。

また、ListReplace.ini を一旦削除してみたところ、新しく作られたそれには以前
のバージョンのように

listfolder=F:\Home\BatWork\list

が作られていません。

[ ]
RE:00318 変換リストによる連続置換マクロNo.00319
山紫水明 さん 14/12/15 20:44
 
 mtriverさん,

 いろいろ調べていただいてありがとうございます。

>一寸気になったので、3)の環境に HmfListReplace.hmf 入れて動かしてみました。
>結果は、x64 と同様に NG です。

 変換モジュール HmfListReplace.hmf がなければOKだが,モジュールを入れ
るとダメだということですね。モジュールの置き場所は秀丸エディタのシステム
フォルダでしょうか,それともマクロフォルダでしょうか。

>また、ListReplace.ini を一旦削除してみたところ、新しく作られたそれには以前
>のバージョンのように
>listfolder=F:\Home\BatWork\list
>が作られていません。

 リストを選択して変換を実行しても,他の項目はあるが,「listfolder=・・・」
がないということですね。
 こちらでもいったん削除して実行しましたが,新しくできた INIファイルには
そのセクションにフォルダ名が書かれています。
 何らかの設定が影響していると思われますが,残念ながら今のところわかりま
せん。

                    山紫水明

[ ]
RE:00319 変換リストによる連続置換マクロNo.00320
mtriver さん 14/12/16 05:18
 
mtriver です。

:  変換モジュール HmfListReplace.hmf がなければOKだが,モジュールを入れ
: るとダメだということですね。モジュールの置き場所は秀丸エディタのシステム
: フォルダでしょうか,それともマクロフォルダでしょうか。

秀丸エディタのシステムフォルダです。
今は、//変換モジュールのチェック 結果を無視すべく 28行の後に

$HmfListReplace = "";   // 強制的に HmfListReplace を使わない

を挿入してます。

それから templist.txt ですが、以下のように2か所に保存するようになっています。
saveas macrodir + "\\templist.txt";

saveas $listfolder + "\\templist.txt";;

304行をコメントアウトして、templist.txt の中身を見ても空ですから、メッセージ
は正しいと思います。

:  リストを選択して変換を実行しても,他の項目はあるが,「listfolder=・・・」
: がないということですね。

はい、最初に書き込んだ通りでしたが、前述したように強制的に HmfListReplace
を使わないようにしたら、以前のように出来ました。

listfolder=F:\Home\BatWork\list

[ ]
RE:00320 変換リストによる連続置換マクロNo.00322
山紫水明 さん 14/12/16 20:10
 
 mtriverさん,

 こちらでもやっと再現できました。変換リストのコメント行の記号「/*」に正
規表現のメタキャラクタが含まれていたのが原因だったようです。
 これへの対策をしたマクロをβ版として下記にアップしておきましたの,試し
てください。
http://homepage2.nifty.com/12sun/sansui.html

                    山紫水明

[ ]
RE:00322 変換リストによる連続置換マクロNo.00323
mtriver さん 14/12/16 20:28
 
mtriver です。

:  こちらでもやっと再現できました。変換リストのコメント行の記号「/*」に正
: 規表現のメタキャラクタが含まれていたのが原因だったようです。
:  これへの対策をしたマクロをβ版として下記にアップしておきましたの,試し
: てください。
: http://homepage2.nifty.com/12sun/sansui.html

完動しました。
そうか、正規表現のメタキャラクタの問題でしたか。

色々とお手数おかけいたしました。ありがとうございました。

[ ]