要望:マクロで排他制御の対処No.05257
Iranoan さん 10/03/05 08:48
 
 秀丸担当さん今日は、Iranoan です。
 他のプロセスで開いていると、ファイルを開く時に、開き方の問い合わせが
ありますよね。マクロの場合、この時の開き方を予め決めておきたいので、
setcompatiblemode で指定可能にならないでしょうか?
 こちらの環境は、WindowsXP+IE8.0+秀丸 Ver.8.00b44 です。

[ ]
RE:05257 要望:マクロで排他制御の対処No.05266
秀丸担当 さん 10/03/05 11:27
 

> 他のプロセスで開いていると、ファイルを開く時に、開き方の問い合わせが
>ありますよね。マクロの場合、この時の開き方を予め決めておきたいので、
>setcompatiblemode で指定可能にならないでしょうか?

このときのエラーを出すかどうかは seterrormode で指定できるようになりまし
た。
ファイルを開いた後、このエラーが出るような状態だったかどうあかは
getresultexで取得できるようになりました。
以下のようなマクロでマクロ内で制御できるのではないかと思います。

seterrormode 2, 0x00002000;
openfile $file;
message str(getresultex(5));

[ ]
RE:05266 要望:マクロで排他制御の対処No.05268
Iranoan さん 10/03/05 12:10
 
 秀丸担当さん今日は、Iranoan です。
> このときのエラーを出すかどうかは seterrormode で指定できる
 既に出来るんですね。

> seterrormode 2, 0x00002000;
 ヘルプに記載が無い気が....。

[ ]
RE:05268 要望:マクロで排他制御の対処No.05270
秀丸担当 さん 10/03/05 12:46
 

>> seterrormode 2, 0x00002000;
> ヘルプに記載が無い気が....。

一応ヘルプにはありますが、マスクされたビットが2、というのは分かりにくい
表現でした。
例を挙げてわかりやすいように追記しておこうと思います。

あと、ヘルプには「他のプロセスでのエラー」と書いていましたが、V8.00では
設定名が変わったので、「書き込み許可で開くことができないときのエラー」と
書いておきます。

[動作環境]→[ファイル]→[開く]の設定名は、V7までは「他のプロセスによって
上書き禁止されているとき…」でしたが、V8から「書き込み許可で開くことがで
きないとき」に変更になりました。

[ ]
RE:05270 要望:マクロで排他制御の対処No.05275
Iranoan さん 10/03/05 14:28
 
 秀丸担当さん今日は、Iranoan です。
> 一応ヘルプにはありますが、マスクされたビットが2、というのは分かりにくい
> 表現でした。
 やはり何処か解りません。「マスクされたビットが 0 でデフォルト、1でON、
2でOFF」との記述は見つかりますが...。            ~

> 例を挙げてわかりやすいように追記しておこうと思います。
 更新時に、再度確認します。

 ##希望の事が出来るか不安ですが....。

[ ]
RE:05275 要望:マクロで排他制御の対処No.05277
秀丸担当 さん 10/03/05 15:17
 

> やはり何処か解りません。「マスクされたビットが 0 でデフォルト、1でON、
>2でOFF」との記述は見つかりますが...。            ~

これのことですが、0ではなくて2でOFFということでした。
0x0000f000でマスクされたビットが2ということは0x00002000というつもりで書
いたのですが、0x2ではなくて0x00002000なので説明として分かりにくかったと
思います。

[ ]
RE:05277 要望:マクロで排他制御の対処No.05278
Iranoan さん 10/03/05 15:42
 
 秀丸担当さん今日は、Iranoan です。
> 0x0000f000でマスクされたビットが2ということは0x00002000というつもりで書
> いたのですが、0x2ではなくて0x00002000なので説明として分かりにくかったと
> 思います。
 やはりちゃんと聞いて良かったです。
 実際に、末尾のマクロで試したのですが、メッセージが表示されてしまいま
す....。「動作環境」→「ファイル」→「開く」→「開くときの確認メッセー
ジ」→「書き込み許可で開くことができないとき」が OFF の時はでません。
 なお OpenOffice.org Write でファイルを開いておいて確認しました。
//------------------------------------------------------------
setcompatiblemode 0x00002000;
openfile "d:\\sample.txt";

[ ]
RE:05278 要望:マクロで排他制御の対処No.05280
秀丸担当 さん 10/03/05 15:55
 

>setcompatiblemode 0x00002000;
>openfile "d:\\sample.txt";

ヘルプ内容がseterrormodeのものだったのでどこに意見の相違があるかわからな
かったのですが、わかりました。
setcompatiblemodeではなくて、seterrormodeのほうです。

先のコメントのように、
seterrormode 2, 0x00002000;
とすると大丈夫なのではないかと思います。

[ ]
RE:05280 要望:マクロで排他制御の対処No.05281
Iranoan さん 10/03/05 16:23
 
 秀丸担当さん今日は、Iranoan です。
> setcompatiblemodeではなくて、seterrormodeのほうです。
 すいません。完全に勘違いしていました。

[ ]