データファイルが他の​アプリケーションによ​って開かれているか確​認する方法はあります​か?

22 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 13 Mar 2013
MATLAB で CSV や EXCEL などのデータを読み込んでいます。外部の別のアプリケーションで該当ファイルが使用されていたり、ロックされていると、エラーとなります。
ファイルが他のアプリケーションからアクセスされているか、事前に確認する方法を教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 13 Mar 2013
データファイルが他のアプリケーションからアクセスされているかどうかを確認するための直接的な機能はありませんが、fopen 関数で 'r+' オプションを用いてファイルを開くことで確認することができます。
'r+' オプションは、「読み書き」アクセスの認証となり、他のアプリケーションでファイルをロックしていたり、何らかの理由でファイルが開けない場合には -1 を出力します。
fid = fopen(filename,'r+'); % ファイルのオープン(読み書き権限)
if fid~=-1 % 正常にオープンできた場合
data = textscan(fid,...); % ファイルの読み込み
....
  fclose(fid)
end

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!