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

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

採用された回答

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!