指定したエクセルファイルが、すでに開かれているかどうか確認するには?

解決


office-hosokawa  2004-03-30 06:26:30  No: 8031

エクセルのファイルを開く前に、そのファイルが第三者によって開かれているかどうか確認し、開かれていない場合はそのファイルを開き、開かれていれば「使用中」のメッセージを出すようにしたいのですが。その方法を教えてください。
宜しくお願いします。


るるとん@K  2004-03-30 06:53:17  No: 8032

https://www.petitmonte.com/bbs/answers?question_id=1342
こちら


office-hosokawa  2004-03-30 07:04:28  No: 8033

るるとん@Kさん、早速ありがとうございます。
しかしながら、「普通に、FileOpenの戻り値で確認できますね・・・」とありますが、何分にも初心者なものでして。もう少し(というか、深く)掘り下げて教えていただきたいのですが...
宜しくお願いします。


るるとん@K  2004-03-30 07:12:55  No: 8034

DelphiのエディタにFileOpenと入力しそこにカーソルを合わせF1キーをポチっとな
ヘルプご覧下さい


るるとん@K  2004-03-30 07:32:51  No: 8035

はっきりいって、よく分かりません。
PDAからの投稿なのでお許しください。


バニラ  2004-03-31 05:17:18  No: 8036

FILEの書き込み、読み出し属性を指定して、オープンされてるとエラーが発生しませんか?
例外で捕まえて、使用中ですってのはどうでしょう?


office-hosokawa  2004-03-31 06:14:08  No: 8037

るるとん@さん、バニラさんありがとうございます。
FileHandle := FileOpen('c:\test.xls',fmShareExclusive);
  if FileHandle > 0 then.......
を、使って今使用中かどうか判定はできることができました。
ただ解除する方法が、わかりません。
このままだと、1回目はOK(ファイルのロック)ですが2回目からはロックされたままとなります。
ロックを解除する方法、教えていただけませんでしょうか?


にしの  2004-03-31 06:19:03  No: 8038

FileOpenで開いたら閉じないといけませんよ。
たとえ読み込みも書き込みもしていないとしても。


office-hosokawa  2004-03-31 06:32:26  No: 8039

にしのさんありがとうございます。

    fileclose (fileHandle) ;

で、できました。

みなさん、こんな初心者に快くアドバイスをいただきありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加