ファイルが開いているかどうかを取得No.02292
じょ〜 さん 01/06/04 00:03
 
どうも、こんにちは。秀マクロ初心者のじょ〜です。日付の件ではお世話になりまし
た。

今回の疑問は次のようなことです。

マクロからある条件でファイル名を指定し、そのファイルを開こうとするのですが

■既に開いている場合にはそれをカレントウインドウにする。(※)
■開いていない場合には開く。
■ファイルが存在しない場合には新規に作成する。

という処理をしたいのですが、問題は※の処理です。

これは、どういう処理になるのですか?

重ね重ね済みません。

[ ]
RE:02292 ファイルが開いているかどうかをNo.02293
ENCODINGSHIFTJIS さん 01/06/04 09:34
 
>マクロからある条件でファイル名を指定し、そのファイルを開こうとするのですが
>
>■既に開いている場合にはそれをカレントウインドウにする。(※)
>■開いていない場合には開く。
>■ファイルが存在しない場合には新規に作成する。

メニュー/その他/動作環境/排他制御/秀丸で同じファイルを開く場合
既に開いているファイルにジャンプする
でできます。
マクロ内で一時的に切替えるのを、要求しているのでなければ。

[ ]
RE:02292 ファイルが開いているかどうかをNo.02294
TAKA さん 01/06/04 12:09
 
TAKA です。

>■既に開いている場合にはそれをカレントウインドウにする。(※)
>■開いていない場合には開く。
>■ファイルが存在しない場合には新規に作成する。

マクロでやる必要があるなら、以下の通りです。
「C:\TEST.TXT」を対象にしています。
マクロ内では「\」をダブらす必要があります。

// マクロ(ここから)
    $FNm = "C:\\TEST.TXT";
    if( $FNm == filename2 )
    { // アクティブ
        goto LEND;
    }
    #WNo = findhidemaru( $FNm );
    if( #WNo != -1 )
    { // 既に開いている
        setactivehidemaru #WNo; // アクティブにする
    }
    else
    { // まだ開いていない
        openfile $FNm;  // ファイルを開く(ない場合は新規)
    }
LEND:
    endmacro;
// マクロ(ここまで)

[ ]