新PCでのマクロ動作No.06103
おすぎ さん 09/04/08 18:42
 
マクロの動作がおかしくなってしまいました。

先週末、PCを新しいものに換えたため、
外付けHDDにコピーしておいたマクロ群を新PCのHDDに移して、
動作させたのですが、動作が狂っているものが見つかりました。

マクロ全体のうち、どのくらいの割合で狂っているのか、
どこの命令でおかしくなっているのか、調べているところなのですが、
総論的に言って、考えられそうな原因について、
何かアドバイスがありましたら、よろしくお願いします。

なお秀丸エディタと田楽DLLは、最新版を再DLしました。

小生、翻訳業なのですが、
自作マクロを多用していたため、
お先真っ暗です…。


[ ]
RE:06103 新PCでのマクロ動作No.06104
きいろいまふらあ さん 09/04/08 19:35
 
きいろいまふらあです。

>なお秀丸エディタと田楽DLLは、最新版を再DLしました。

前の環境と現在の環境でそれぞれがどのバージョンなのかを書いていただけると
手がかりになる(これらのバージョンアップの内容が影響しているかどうかの問
題の切り分けができる)のではないかと思います。

また、マクロのコマンドの中には、動作環境等の設定により動作が変わるものも
あります。設定の移行はお済みでしょうか?(移行の方法は、秀丸エディタのヘ
ルプの目次の上から4番目の「移行の手引き」に詳しいです。)

可能であれば、まずは最新版ではなく、前と同じバージョンで、動作環境も復元
(して一度動作確認してみてはいかがでしょう?うまく動いたらバージョンアッ
プをしたらいいんじゃないかと思います。

[ ]
RE:06103 新PCでのマクロ動作No.06105
アルビレオ さん 09/04/08 20:06
 
アルビレオです。

>先週末、PCを新しいものに換えたため、

OSがVistaになったことで動かなくなったのかもしれませんね。
マクロの中には、マクロフォルダや秀丸エディタのプログラムフォルダに一時フ
ァイルを保存するようなものもあるので、これらのフォルダが \Program Files
の中にあると動作しないものがありそうです。

[ ]
RE:06104 新PCでのマクロ動作No.06106
おすぎ さん 09/04/08 20:22
 
きいろいまふらあ さま
アルビレオ さま

アドバイスありがとうございます。

古いパソコンは、すでにハード的に(HDDかメモリか?)壊れていまして動き
ません。秀丸エディタの「設定の移行」は、読んでいなかったため、行なってい
ません。新PCでの設定は、外付けHDDを現在のPCに接続してマクロ等を移
した後、自分の記憶を頼りに行ないました。

秀丸エディタは、前の環境も現在の環境も、最新版「Ver.7.10」です。

田楽DLLは、前の環境では「Ver.2.98 1st」のようです(覚えていなかったの
ですが、「Hidemaru」フォルダを調べると、そのようです)。
なお「Ver.2.98」は現在、杉浦氏のウェブサイトでは公開されておらず、その両
側の「Ver.2.83」と「Ver.3.01」が公開されています。
現在の環境では、「Ver.2.83」と「Ver.3.01」の両方を試してみましたが、どち
らもマクロ動作は異常でした。

OSですが、
前の環境では、XP Home Edition SP2、
今の環境では、XP Professional SP3(Vista Business 32bit ダウングレード
版)です。

お二人の話しを聞いていると、本質的にダメではないかという気になってきまし
た(^^;

[ ]
RE:06106 新PCでのマクロ動作No.06108
きいろいまふらあ さん 09/04/08 22:33
 
きいろいまふらあです。

>お二人の話しを聞いていると、本質的にダメではないかという気になってきまし
>た(^^;

先のコメントで書いたのは、あくまでも問題がどこにあるかを明確にするために
はこうしたらよいのでは?ということです。

>秀丸エディタは、前の環境も現在の環境も、最新版「Ver.7.10」です。

とりあえず「秀丸エディタのバージョン違いによってマクロの動きがおかしくな
った」という可能性はつぶせたということですね。

なぜこの命令がうまくいかない(思った処理結果にならない)のか、ということ
があったら、ここの会議室で具体的に質問されるとよいと思います。

なんとか解決するとよいですね。がんばってください。

[ ]
RE:06108 新PCでのマクロ動作No.06110
おすぎ さん 09/04/09 00:04
 
解決しました。

原因は、アルビレオさんが言われたような「OSの違い」だと思われます。

嫁さんが、Windows XP Home Edition SP2のパソコンを使っていて、
そこに、秀丸エディタ(Ver.7.10)を入れていたのを思い出しました。

その秀丸エディタ上で、
「その他」→「設定内容の保存/復元」→「設定情報をファイルに保存する」で、
設定情報をUSBメモリに落とし、
それを、私のPCで「設定情報をファイルから復元する」から読み込んだところ、
マクロやツールバーは無茶苦茶になりましたが、私のPCの「Hidemarumacro」
フォルダから入れ直した秀丸マクロが正常に動くようになりました。感激!!

やはり、マクロを作ったWindows XP上で設定情報を保存して、
それを復元する必要があったのだろうと思います。

ちなみに、私のPC上で「秀丸マクロ」と「設定情報」をUSBメモリに落とし、
それを嫁さんのPCで読み込んだところ、マクロは異常動作を示しました。
しかし、先ほど嫁さんのPC上で保存した設定情報に戻してやると、
マクロは正常動作を示しました。

元はと言えば、私が「設定内容の保存」をしていなかったのが原因ですが、
それでも、Windows XP 上で作製したマクロは、Windows Vista(からのダウング
レード版)上では、マクロのコピーだけでは正常に動かないというのは問題だと
思います。。。


きいろいまふらあ さま
アルビレオ さま
ご協力、本当にありがとうございました。

[ ]
RE:06110 新PCでのマクロ動作No.06111
Iranoan さん 09/04/09 01:14
 
 おすぎさん今日は、Iranoan です。
 横から失礼します。

> 解決しました。
 まずは、おめでとうございます。

 しかし、どこからこういった↓判断をしたのでしょう?
> 原因は、アルビレオさんが言われたような「OSの違い」だと思われます。


> その秀丸エディタ上で、
> 「その他」→「設定内容の保存/復元」→「設定情報をファイルに保存する」で、
> 設定情報をUSBメモリに落とし、
> それを、私のPCで「設定情報をファイルから復元する」から読み込んだところ、
> マクロやツールバーは無茶苦茶になりましたが、私のPCの「Hidemarumacro」
> フォルダから入れ直した秀丸マクロが正常に動くようになりました。感激!!
<以下略>
を読むと、単に「秀丸エディタの動作環境に依存するマクロだった」というこ
とだと思います。~~~~~~~~~~~~~~~~~~~~~~

 この手の話は、一つ間違えると、「秀丸エディタは、Vista でマクロが上手
く動かない」と、誤解が広がりかねないので、投稿した次第です。

[ ]
RE:06111 新PCでのマクロ動作No.06112
おすぎ さん 09/04/09 11:23
 
Iranoan さん

レスありがとうございます。

>しかし、どこからこういった↓判断をしたのでしょう?
>> 原因は、アルビレオさんが言われたような「OSの違い」だと思われます。

このスレの最初の方に書きましたように、
私はPCを新しくしてマクロをコピーしたら、マクロが正常動作しませんでした。
2台のPCはOSが違っていました。
旧PC、XP Home Edition SP2、
新PC、XP Professional SP3(Vista Business 32bit ダウングレード版)。

でもこれらのマクロは、嫁さんのPC(XP)にコピーしたところ、その秀丸では
正常動作しました。
そこで、嫁さんの秀丸で保存した設定内容を、新PC上で復元したところ、マク
ロが正常動作したということです。

私は100個近くのマクロを秀丸に登録していたのですが、そのうちの少なくと
も3個は誤動作が確認され、その原因の一つは少なくとも「seltopx, seltopy」
がマクロ中で上書き不能になっていることであることが分かっています。


><以下略>
>を読むと、単に「秀丸エディタの動作環境に依存するマクロだった」というこ
>とだと思います。~~~~~~~~~~~~~~~~~~~~~~

今回の場合は、OS以外のどのような動作環境に依存して、個々のマクロ命令が
正常動作しなくなったと考えられるのでしょうか?

教えていただけますと助かります。

[ ]
RE:06112 新PCでのマクロ動作No.06113
K'zawa さん 09/04/09 11:55
 
おすぎさん、こんにちは。
K'zawaです。


>今回の場合は、OS以外のどのような動作環境に依存して、個々のマクロ命令が
>正常動作しなくなったと考えられるのでしょうか?

秀丸の設定を変えて動くのならばOSは関係なく、設定依存のマクロであると推測
できます。それが当たっているならば、あとはマクロを見てみないとなんとも言
えません。差し支えなければ、マクロを投稿してみてはどうでしょう。

[ ]
RE:06112 新PCでのマクロ動作No.06114
秀丸担当 さん 09/04/09 11:56
 

Iranoanさんも言われている通り、設定内容の復元でできたということは、OS
の問題ではなく、設定が違っているためではないかと思います。

よく問題になりやすいのが、[その他]→[動作環境]→[検索]の、「検索での表
示」が「点滅表示」か「範囲選択」かの設定での影響があります。
インストール後の初期状態は「点滅表示」になっています。
seltopx, seltopy が問題ということで、もしかしたらこれが「範囲選択」を前
提としたマクロなのかもしれないです。

マクロの全体像がわからないので、そういうことではないかもしれないですが。
そうでないとしたら、どこかの別の設定が影響しているのだと思います。


ちなみに、「検索での表示」での動作環境依存があるとしたら、
setcompatiblemode で 0x0100 か 0x0200 を指定することで動作環境に依存しな
いマクロを作ることもできます。

[ ]
RE:06112 新PCでのマクロ動作No.06115
Iranoan さん 09/04/09 18:07
 
 おすぎさん今日は、Iranoan です。
> そこで、嫁さんの秀丸で保存した設定内容を、新PC上で復元したところ、マク
> ロが正常動作したということです。
 秀丸担当さんも書かれていますが、私も補足させて頂きます。
 この「設定内容」は
> 「その他」→「設定内容の保存/復元」→「設定情報をファイルに保存する」で、
> 設定情報をUSBメモリに落とし、
ということで、これは秀丸エディタ上での作業ですよね。そしてこれは、OS
の環境や設定を保存するわけではなく、あくまで英丸エディタの設定を保存し
たり、復元したりする機能です。そこで私は、
> >を読むと、単に「秀丸エディタの動作環境に依存するマクロだった」というこ
> >とだと思います。~~~~~~~~~~~~~~~~~~~~~~
と判断しました。つまり
> 今回の場合は、OS以外のどのような動作環境に依存して、個々のマクロ命令が
> 正常動作しなくなったと考えられるのでしょうか?
の問いに対しては、
・秀丸エディタの動作環境 (ファイルタイプ別の設定含む) に依存していると
  考えられる
・しかし、
    o 個々のマクロのキーワド/文のどれなのか?
    o どの設定なのか?
  は、マクロのソースを見ないと断定は出来ない
となります。

> 「seltopx, seltopy」
との事なので、秀丸担当さんが仰るように、
> [その他]→[動作環境]→[検索]の、「検索での表
> 示」
の可能性がまず考えられますが、秀丸の設定で動きが異なるのは、他にも
・行末での動作や、フリー・カーソル・モードに依存する right, left 等
  カーソル移動系
・使用している正規表現の DLL で変わる検索系
等いろいろ有ります。

[ ]
RE:06115 新PCでのマクロ動作No.06117
おすぎ さん 09/04/10 11:03
 
各位

私の早とちりだったようで、ご迷惑をおかけしました。

今回の原因は、OSの問題ではなく、マクロが動作環境に依存したから、のようです。

秀丸担当さんが言われたように、
設定内容の「点滅表示」⇔「範囲選択」の切り替えで、
「seltopx, seltopy」に起因するマクロの誤動作はなくなりました。

しかしこの先、他のマクロについて誤動作が確認される可能性もあり、
そのとき、設定内容のどれをチェックすべきなのかを考えると、
途方に暮れてしまいます(^_^;



ところで、
「マクロの動作が設定内容に依存する」というのは、今回初めて知りました。

これは "バグ" 扱いされていないのでしょうか?
したがって今後、修正される予定もないってことでしょうか?

[ ]
RE:06117 新PCでのマクロ動作No.06118
秀丸担当 さん 09/04/10 12:37
 

>設定内容の「点滅表示」⇔「範囲選択」の切り替えで、
>「seltopx, seltopy」に起因するマクロの誤動作はなくなりました。

原因が分かったようで、よかったです。

>これは "バグ" 扱いされていないのでしょうか?
>したがって今後、修正される予定もないってことでしょうか?

これを修正するのは難しいと思います。
申し訳ありません。
例えば検索を使ったマクロの場合、点滅表示か範囲選択かどちらを想定したマク
ロなのかは分からないので、互換性を維持する限りは不可能だと思います。

検索の場合は、setcompatiblemodeで非依存にすることもできるので、マクロを
作るときにそれで対処していただくしか無いと思います。

[ ]
RE:06117 新PCでのマクロ動作No.06124
アルビレオ さん 09/04/11 06:57
 
ユーザーのアルビレオです。

>ところで、
>「マクロの動作が設定内容に依存する」というのは、今回初めて知りました。
>
>これは "バグ" 扱いされていないのでしょうか?
>したがって今後、修正される予定もないってことでしょうか?

知ったところで何かの役に立つというよりはいわゆる「うんちく」程度の話にし
かなりませんが、「マクロ」というのは「一連の操作をひとまとめにしたもの」
というような意味で、よりプログラムに近い性格を持つ「スクリプト」とはでき
ることは似ていても考え方の出発点が違います。(厳密な区別があるわけではあ
りませんが)
同じ操作でも設定が違えば結果は違うのだから、操作の再現を目的にしている以
上はマクロでも設定によって結果は違います。

秀丸担当さんも書かれているように、すでに秀丸には「設定によって違う」こと
を前提にしたマクロも多数公開しているため、今さら設定に影響されないように
すると多くのマクロで問題が起きます。
一部のコマンドは「設定に関係なく同じ結果になる別コマンド」を用意していま
すが、検索系は今でも多数のコマンドがあるのでこれらすべてに別のコマンドを
用意するのは難しいのでしょう。

[ ]
RE:06117 新PCでのマクロ動作No.06125
K'zawa さん 09/04/11 10:59
 
おすぎさん、こんにちは。
K'zawaです。

>設定内容の「点滅表示」⇔「範囲選択」の切り替えで、
>「seltopx, seltopy」に起因するマクロの誤動作はなくなりました。

この点に関しては、先に言われているように、
setcompatiblemodeを使って非依存にする方法の他、
seltopx等ではなく、より直接的な値、foundtopx等のキーワードを使う方法も
あります。

>しかしこの先、他のマクロについて誤動作が確認される可能性もあり、
>そのとき、設定内容のどれをチェックすべきなのかを考えると、
>途方に暮れてしまいます(^_^;

ご愁傷さまです(笑)
参考までに思いつくものを挙げてみると、

検索直後のright等移動→点滅か範囲選択で変る
right等での移動→フリーカーソル
paste→貼り付け後のカーソル位置
golinetop,moveto等ワープロ的な行を対象とした命令→折り返し桁数
insertreturn→自動インデント、上書きモード時のリターン、
等々

[ ]
RE:06125 新PCでのマクロ動作No.06126
きいろいまふらあ さん 09/04/11 22:06
 
きいろいまふらあです。

>>設定内容の「点滅表示」⇔「範囲選択」の切り替えで、
>>「seltopx, seltopy」に起因するマクロの誤動作はなくなりました。
>
>この点に関しては、先に言われているように、
>setcompatiblemodeを使って非依存にする方法の他、
>seltopx等ではなく、より直接的な値、foundtopx等のキーワードを使う方法も
>あります。

マクロの先頭で一時的に設定を変更し、マクロを終了するときにもとの設定に戻
す、というのもよくやる手ですね。

程度問題ではありますが、例えばExcelのマクロ(VBA)なんかも、設定に依存す
る命令が(数は多くないと思いますが)ありますね。

[ ]
RE:06118 新PCでのマクロ動作No.06127
おすぎ さん 09/04/13 00:01
 
秀丸担当さま

「マクロの動作が設定内容に依存する」というのは、
公になっていることなのでしょうか?

私がマクロを勉強するときにお世話になった本には、
載っていないようです。
−「『秀丸』を100倍生かす強力マクロの使い方」
−「秀丸エディタ[正規表現&マクロ]厳選テクニック」
−「編集者・執筆者のための秀丸エディタ超活用術」
−「秀丸エディタハンドブック」
また、
−「秀丸エディタ公式マニュアルVer7対応」にも、
載っていないようです。

「マクロが設定に依存する」という事実は、
どこかで公にしておいていただけないでしょうか。

秀丸エディタのユーザーの多数派(と思われる)プログラマの方々に
は、当然のことにように写る事柄なのかも知れませんが、
私のようなマクロをツールとしてしか利用してない者にとっては、
とても大事な問題です(私の本業は、翻訳業です)。

他の方々のコメントを見る限り、マクロが依存する設定内容には、
「点滅表示」⇔「範囲選択」以外にも多数あるようだし、
「setcompatiblemodeで非依存にすることもできる」と言われましたが、
そんなコマンドがあること自体も、今回のような問題が起きないと分か
らないわけです。

今回の問題は、マクロを利用する上で "目に見えない爆弾" があること
が分かったようで、とても不安です。

ご検討のほど、よろしくお願いいたします。

[ ]
RE:06125 新PCでのマクロ動作No.06128
おすぎ さん 09/04/13 00:04
 
K'zawa さん

>>しかしこの先、他のマクロについて誤動作が確認される可能性もあり、
>>そのとき、設定内容のどれをチェックすべきなのかを考えると、
>>途方に暮れてしまいます(^_^;
>
>ご愁傷さまです(笑)

この最後のコメントは、どういう意味でしょうか?
人の不幸を笑っているわけでしょうか?
失礼だね。

[ ]
RE:06127 新PCでのマクロ動作No.06129
Iranoan さん 09/04/13 03:01
 
 おすぎさん今日は、マニュアルの著者の Iranoan です。(一ユーザであって、
サイトー規格の関係者で無い点は、おすぎさんと変わりませんが...。)
> 「マクロの動作が設定内容に依存する」というのは、
> 公になっていることなのでしょうか?
 公のことだと思います。

> −「秀丸エディタ公式マニュアルVer7対応」にも、
> 載っていないようです。
 一応、載っていますよ。
 P.145
> 7.5.2 使用環境を考慮する
です。ただ「もう少し解りやすい場所に書くべき」ということで、次版の参考
にさせて頂きます。

 またマニュアルの件とは別に、「どの文やキーワードがどのような設定に依
存するか?」をすべて洗い出すのは無理かもしれませんが、「そのような文や
キーワードがある」は、ヘルプの解りやすい場所に記載が有った方が良いと思
います。

 以下、半分雑談のようなものです。
> 秀丸エディタのユーザーの多数派(と思われる)プログラマの方々に
> は、当然のことにように写る事柄なのかも知れませんが、
 ユーザの多数はマクロを作らないと思います。
 公開されているマクロの中にも、作者が考慮していない/気付いていないマ
クロはあるでしょう。ただ
> 私のようなマクロをツールとしてしか利用してない者にとっては、
> とても大事な問題です(私の本業は、翻訳業です)。
という人は、逆にこのような事は殆ど意識する必要はありません。なぜなら、
同じ設定で使うと考えられるからです。
 おそらくおすぎさんも「設定内容の保存/復元」を知っていたら、新 PC デ
も同じ設定になり、気が付く事はなかったでしょう。(だからと言って「現状
のままで良い」という心算が無い事は、前述の通りです)

> 他の方々のコメントを見る限り、マクロが依存する設定内容には、
> 「点滅表示」⇔「範囲選択」以外にも多数あるようだし、
というか、そもそも設定に依存しなければいけない文も有ります。具体的には、
幾つかのキー操作をエミュレートしていたり、メニュー操作を再現する文です。

> 今回の問題は、マクロを利用する上で "目に見えない爆弾" があること
> が分かったようで、とても不安です。
 自分で作ったマクロに関しては、先程書いたように、同じ設定で動かせば問
題ありません。そうで無いマクロについては、マクロ作者に連絡したり、ここ
で聞くのが良いでしょう。
 私も忘れていることが結構あります(^^;。
http://www.maruo.co.jp/hidesoft/4/x06099_.html#6121

 最後に別投稿の
> >ご愁傷さまです(笑)
>
> この最後のコメントは、どういう意味でしょうか?
に付いてですが、
> 人の不幸を笑っているわけでしょうか?
という事は無いと思いますよ。本当にそのような悪意があるなら、
> 参考までに思いつくものを挙げてみると、
といった手間をかけませんから。

[ ]
RE:06127 新PCでのマクロ動作No.06130
秀丸担当 さん 09/04/13 10:33
 

マクロが動作環境に依存することは、マクロヘルプにも分かりやすく書いておこ
うと思います。
ご迷惑をおかけして申し訳ありません。

そのことを知らなければ困ってしまうのはもっともなことだと思います。

[ ]
RE:06128 新PCでのマクロ動作No.06133
K'zawa さん 09/04/13 14:13
 
おすぎさん、こんにちは。
K'zawaです。

>>ご愁傷さまです(笑)
>
>この最後のコメントは、どういう意味でしょうか?
>人の不幸を笑っているわけでしょうか?
>失礼だね。

もう前のPCから設定を取ることは出来ないようだし、一瞬にして解決する方法は
ありません。
「かわいそうだが、努力と根性で乗り切るしかないね。頑張って。」という意味
だったんですけどね。
誤解をさせてしまったようで、申し訳ありません。

そして解決のヒントになればといくつか列挙してみたのですが、
ことによると、不安を煽っただけだったかも知れませんね。残念です。

なお、Iranoanさんには、フォローして頂いてありがとうございました。

[ ]
RE:06125 新PCでのマクロ動作No.06134
秀丸担当 さん 09/04/13 14:48
 

>検索直後のright等移動→点滅か範囲選択で変る
>right等での移動→フリーカーソル
>paste→貼り付け後のカーソル位置
>golinetop,moveto等ワープロ的な行を対象とした命令→折り返し桁数
>insertreturn→自動インデント、上書きモード時のリターン、
>等々

このご意見も参考にさせていただいて、マクロヘルプに書いておこうと思います。
ありがとうございます。
もし他にも情報をお持ちの方がおられましたら、参考にさせていただきます。

別のスレッドでも書きましたが、「貼り付け後のカーソル位置」は、V8.00を出
すときにはsetcompatiblemodeでも指定できるように検討したいと思います。

[ ]
RE:06134 新PCでのマクロ動作No.06135
Iranoan さん 09/04/13 20:07
 
 秀丸担当さん今日は、Iranoan です。
> もし他にも情報をお持ちの方がおられましたら、参考にさせていただきます。
に関してですが、
> >right等での移動→フリーカーソル
は、『「行末<->次の行の行頭」移動の禁止』にも依存します。またカーソル
移動系は、「タブ文字の上にカーソル移動した時:」にも依存します。

> >insertreturn→自動インデント、上書きモード時のリターン、
 設定ではなく、モードによる違いとなると、閲覧系の場合、カーソル移動系
は特殊な動きをします。また beginsel の動きも変わってきます。

 これら以外にも、以下のように、ざっと見ただけでも非常に多岐に亘ります。
・ファイル・オープン系は、
  o 文字コードの自動判定の各種設定
  o ファイルの排他制御
  o 秀丸エディタで同じファイルを開く場合
  に依存します
・検索による範囲選択は、範囲選択する/しないが変わるために、seltopx 等
  だけでなく、結果的に検索ヒット直後の insert, paste 等の入力関係や、
  それとは逆の delete 等の削除関係も変わる
・「入力の補助」の設定による入力関係の変化
・変換モジュールの導入状態による filter
・「単語の検索で"abc"を検索する時、"abc123"にはヒットさせない」
・「印刷ダイアログ」
・正規表現の DLL
・「秀丸エディタの起動数を制限する」
・「ダイレクトタグジャンプ」
・「標準エラー出力も出力する」
・「タブの文字数、行頭のタブ文字で段落全体をインデントする」
  →moveto が変わる
・colorcode→「デザイン」
  o「場所の一覧」のどれを ON にしているか
  o「強調表示」
・アウトライン関係
・単語補完

 ただし多くは、キー・タイプやメニューからの操作をエミュレートしている
ので、当然といえば当然ですね。

[ ]
RE:06135 新PCでのマクロ動作No.06136
秀丸担当 さん 09/04/14 15:15
 

詳細にわたって、ありがとうございます。
参考にさせていただきます。

[ ]