既に指定ファイルが開いている場合の対策No.04951
さん 05/12/07 17:35
 
こんにちは。
他のアプリのスクリプトから
テキストファイル(test.txt)を起動オプション "/xマクロ名" を付けて開いた場合、
既にtest.txtが開いている場合にマクロが中断されますが、
皆さんはどう対処なさっていますか?

[ ]
RE:04951 既に指定ファイルが開いている場No.04958
秀丸担当 さん 05/12/08 17:09
 

>他のアプリのスクリプトから
>テキストファイル(test.txt)を起動オプション "/xマクロ名" を付けて開いた場合、
>既にtest.txtが開いている場合にマクロが中断されますが、

既にファイルが開かれている場合の挙動は、[その他]→[動作環境]→[ファイル]
→[排他制御]→[秀丸エディタで同じファイルを開く場合]によって異なります。
上書き禁止で開くか、構わずに開くの状態になったときは、マクロが続行します
が、それ以外の選択では現状ではマクロは続行していないです。
とりあえず、動作環境を変えることで解決できますでしょうか。

[ ]
RE:04958 既に指定ファイルが開いている場No.04960
さん 05/12/08 19:14
 

>既にファイルが開かれている場合の挙動は、[その他]→[動作環境]→[ファイル]
>→[排他制御]→[秀丸エディタで同じファイルを開く場合]によって異なります。
>上書き禁止で開くか、構わずに開くの状態になったときは、マクロが続行します
>が、それ以外の選択では現状ではマクロは続行していないです。
>とりあえず、動作環境を変えることで解決できますでしょうか。

すいません。言い忘れましたが、バージョンは
2005/12/07 Ver5.12β2
ですので、メニューは

[開く方法を問い合わせる]
[上書き禁止で開く]
[同じファイルを2つ開くことを禁止する]
[ファイルを読み込みなおしする]

となっていまして、[ファイルを読み込みなおしする] に設定していました。この設
定下でこれまで述べたようにマクロが中断されます。

[ ]
RE:04960 既に指定ファイルが開いている場No.04963
秀丸担当 さん 05/12/09 10:10
 

バージョンによって違いがあるわけではないですが、動作環境で「開く方法を問
い合わせる」になっている場合は、ダイアログが出てきて選択ができます。
それらの選択肢と動作環境も合わせると以下の選択があることになります。

・開く方法を問い合わせる
 ├・上書き禁止で開く(*)
 ├・構わずに開く(*)
 ├・閉じてから開く
 └・キャンセル
・上書き禁止で開く(*)
・同じファイルを2つ開くことを禁止する
・ファイルを読み込みなおしする

この中で(*)がついたものであれば、マクロが続行されています。
この選択で、解決できますでしょうか。

解決できない場合、対策を考える必要があると思いますが、どのような動作にな
るのが望ましいでしょうか。

[ ]
RE:04963 既に指定ファイルが開いている場No.04964
さん 05/12/09 21:41
 
こんにちは。
いろいろと試してみたところ、起動オプションを/xオプションだけにして、
マクロのopenfileで指定ファイルを開くと解決しました。

詳しく言いますと、
---
[ファイルを読み込みなおしする]に設定。
 ↓
/xオプションと開くファイル名を両方指定していたのを変更し、
/xオプションのみでマクロ実行開始。
 ↓
マクロ文にopenfileを加えて指定ファイルを開くと
指定ファイルが開いていてもマクロが続行される。
---
となります。

> 解決できない場合、対策を考える必要があると思いますが、どのような動作にな
> るのが望ましいでしょうか。

上述の通り解決しましたので当面問題はないのですが、
個人的な好みでいえば、
[ファイルを読み込みなおしする]
の設定でもマクロが続行されると分かりやすいです。
ただ、多くの方が、現在の動作環境を前提にマクロを
組んでいるかも知れませんので、そちらにこの件はお任せします。
お手数おかけしました。

[ ]
RE:04964 既に指定ファイルが開いている場No.04967
秀丸担当 さん 05/12/12 13:02
 

>いろいろと試してみたところ、起動オプションを/xオプションだけにして、
>マクロのopenfileで指定ファイルを開くと解決しました。

試してみたところ、openfileの場合はウィンドウ切り替え後にマクロ続行できる
ことを確認できました。
「ファイルを読み込みなおしする」になっている場合、読み込みなおしが発生す
るタイミングがおかしいようです。これはバグと言えるので修正したいと思いま
す。
/xでファイル名を指定したときとopenfileのときで動作が違うわけですが、この
あたりは慎重に考えつつも検討したいと思います。

[ ]