エクセルで『編集のためロックされています』と表示されるとき

誰も開いていないのに使用中になる

誰も開いていないのに、ネットワーク上のエクセルファイルを開くと『〇〇.xlsxは編集のためロックされています。』と表示され、読み取り専用でしかエクセルを開けないときがあります。

『使用者は△△さんです』とあるので△△さんに問い合わせても、『今開いていないし、そもそも今日は全くエクセルを起動していません。』とのこと。こんなことがよくあります。

こういうときの為に対処方法をいくつか見つけたのでメモ。

原因

恐らくエクセルとファイルの間でExcelを閉じても閉じたことになっていない状況になっていて、プロセスが残ってしまうことで起きていると思いますが、なぜそうなるのかはいろいろ調べても原因はよくわかりません。

いくつかある対処方法

  1. エクスプローラーを再起動する
  2. エクセルの一時ファイルを削除する
  3. エクセルのリボンに『読み取り専用の設定/解除』ボタンを追加する
  4. タスクをKILLする
  5. パソコンを再起動する
  6. NASやファイルサーバを再起動する

1.エクスプローラーを再起動する

たまに、自分しか開いていないのに、自分が開いたエクセルのファイルを一旦閉じて、再度自分が開こうとしたときに使用中となることがあります。自分のパソコンがまだエクセルファイルが開かれていると勘違いしているとき(キャッシュみたいなものが残っている?)に使えます。その時にこの方法で解決できたことが何度かあります。

バッチファイルでエクスプローラーを再起動

以下のソースのバッチファイルでWindowsエクスプローラーを再起動します。バッチファイルではなく、コマンドで丁寧に1行ずつ実行すると、エクスプローラーを終了してしまうとパソコンのファイル操作ができなくなってしまうので、バッチファイルで行うのをお勧めします。

バッチファイルのソース
taskkill /f /im explorer.exe
start explorer.exe
ダウンロード

上記のバッチファイルをダウンロードできます。解凍してご利用ください。

exploere_restart.zip(221 byte)

これで解決できなかった場合は次を試してみてください。

2.エクセルの一時ファイルを削除する

Excelファイルを開くと、開いたファイルと同じ階層に隠しファイルとして~$で始まる作業用ファイル?一時ファイル?キャッシュファイル?みたいなファイルが現れます。本来はエクセルを閉じたと同時に、この隠しファイルも削除されるのですが、ネットワークドライブ上のファイルだと、何らかの原因で削除する前にネットワークが切断されてしまうと残ってしまいます。これが残っているがために、誰も開いていないのに、エクセルが使用中だと勘違いをしてしまっていることがあります。

まずはフォルダオプションを設定

~$で始まるファイルは、ただ『隠しファイルを表示する設定』にしただけでは表示されません。

併せて『保護されたオペレーティングシステムファイルを表示しない(推奨)』のチェックを外す必要があります。

ファイルが表示されたら削除

これで解決できなかった場合は次を試してみてください。

3.エクセルのリボンに『読み取り専用の設定/解除』ボタンを追加する

リボンのユーザー設定を開く

『リボンのユーザー設定』を開くには[ファイル]-[オプション]から開くか、リボンのどこでもいいので空白部分を右クリックして開きます。

[すべてのコマンド]を選択して、隠れて表示されていない項目を表示できるようにします。

[新しいグループ]をクリックして、[ホーム]のリボンに新しいグループを作成します。グループ名は適当に変更してください。(例:読み取り専用など)

[読み取り専用の設定/解除]を選択し、[追加]ボタンを押すと、先ほどの新しいグループに登録されますので、[OK]を押して画面を閉じます。

画面を閉じたら[ホーム]のリボンに[読み取り専用の設定/解除]が表示されます。

読み取り専用のファイルを開いたときにこのボタンをクリックすると、読み取り専用が解除されるはずです。

これで解決できなかった場合は次を試してみてください。

4.タスクをKILLする

残り続けるプロセスを終了させることで直るかもしれません。コマンドプロンプトからNASまたファイルサーバーを開いているプロセスをKILLします。以下のページが参考になります。

Link

【共有フォルダ】誰も開いてないエクセル(Excel)が使用中・閲覧中になる現象完全攻略【他のユーザー】 | Hamalabo

https://hamalabo.net/excel-who-is-watching#anker3

コマンドプロンプトファイルサーバーの名称を検索

192.168.XXX.XXXはファイルサーバのIPアドレスです。

nbtstat -A 192.168.XXX.XXX
該当のエクセルファイルのIDを確認

仮にファイルサーバー名がLANDISKだったとしたら、以下のようになります。

openfiles /query /s LANDISK
IDを指定してKILL

調べたIDが仮に123だったとしたら以下のようになります。

openfiles /disconnect /s LANDISK /id 123

これで解決できなかった場合は次を試してみてください。

5.パソコンを再起動する

以上の方法で解決できなければ、パソコンに問題があるか、ネットワークフォルダに問題があるかが考えられます。なので、パソコンに問題があるのであれば再起動で直るはずです。しかし、ここまで来るまでに『そんなん、既にやっとるわ!』とか、『それでも駄目だから検索してるのよね』という方がほとんどかと思います。

これで解決できなかった場合は次を試してみてください。

6.NASやファイルサーバを再起動する

NASやファイルサーバに何らかの原因があるとしたら、NASを再起動したら直るはず!?です。会社の場合、業務時間中はみんなが使っているので簡単に再起動できないかもしれませんが、タイミングをみて再起動してみてください。

これで直ったら、定期的に再起動するスケジュールを登録しておいた方がいいかもしれません。

以上。

参考ページ

PAGETOP