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

Excel/VBA

今回は、共有フォルダ等に置いてあるエクセルを開いた際、
誰も開いてないのに’他のユーザー’または’自分自身’が閲覧中になる現象について。

そんな企業あるある、多分本記事でほとんど解決します。

実行環境
  • Windows10 Pro 1803
  • Microsoft Office Professional Plus 2010
    ※念の為書いてるだけでOSもOfficeのバージョンも関係無いです。
スポンサーリンク

原因は?何故起こるのか。


社内LAN上で管理しているエクセルあるあるですが、
単純に他のユーザーがエクセルファイルを開いている場合を除けば、
大体が該当ファイルを開いたままでネット接続が切れてしまったりで、
ファイルサーバでプロセスを正常終了しきれずにプロセスが残っているのが原因です。

閉じたらネットワークを切断する設定のノートPCで、
共有にあるエクセルを開いたまま画面を閉じてしまったりとか(←よくやる)
ルーターの不具合とかLANが緩んでて抜けたりとかとか…
自分以外の誰か他のユーザーがやっても起こり得るのです。

だから自分のPCを再起動やらxlbファイルいじったりしても殆ど無駄!
それらを試してどうにもならなかった場合の解決方法を記載していきます。

解決策① Excelに読み取り専用の設定/解除を追加する


[ファイル] → [オプション] → [リボンのユーザー設定] → [新しいグループ]
でグループを作成します(名前は適当でOK) で、左側の[コマンドの選択]のプルダウンを’全てのコマンド‘にする。
いっぱい出てきますが、その中から[読み取り専用の設定/解除]を見つけ出し追加する。

上記を行うとエクセルホーム画面のツールバー上に[読み取り専用の設定/解除]ボタンが出るので、それを実行すると解決する場合が有ります。

解決策② コマンドプロンプトでKill


本来このような時はファイルサーバを操作してプロセスをKillすれば良いですが、
現場サイドでは正直厳しい。
そんな時は自分のPC上のコマンドプロンプトからでも特定のプロセスをKill(完全抹殺)する事が出来ます。これ最強

現場ではIPアドレスは分かってもファイルサーバー名称が分からない場合が多いと思いますので、まずファイルサーバー名を確認する為コマンドプロンプトで下記を入力します。

nbtstat -A 192.168.XXX.ZZZ

(↑サーバーのIPアドレス)
実行すると下記がプロンプトに表示されます。

C:\Users\user>nbtstat -A 192.168.XXX.ZZZ

イーサネット:
ノード IP アドレス: [192.168.XXX.YYY] スコープ ID: []

           NetBIOS リモート コンピューター ネーム テーブル

       名前               種類         状態
    ---------------------------------------------
    LANDISK-TSTPCX <00>  一意          登録済
    LANDISK-TSTPCX <03>  一意          登録済
    LANDISK-TSTPCX <20>  一意          登録済
    WORKGROUP      <1E>  グループ        登録済
    WORKGROUP      <00>  グループ        登録済

    MAC アドレス = 00-00-00-00-00-00

C:\Users\user>

上記の場合、[LANDISK-TSTPCX]がファイルサーバー名称になります。
ファイルサーバー名称が分かったので次に下記を実行

openfiles /query /s LANDISK-TSTPCX

上記コマンドで、該当エクセルファイルのIDを確認し、
下記を実行でKill!

openfiles /disconnect /s LANDISK-TSTPCX /id 123

123の部分には先程のコマンドで確認したIDを入力します。
これで完全に終了させる事が出来ますが、
実行前に本当に他のユーザーが誰も開いてないか必ず確認しましょう。

 

まとめ・注意点


ちなみに、例えばファイルサーバーのIPアドレスが192.168.100.150だった場合、
自身も100のIPが振られていないとnbtstatのコマンドで[ホストが見つかりませんでした。]となり、openfiles~ のコマンドも[ネットワークパスが見つかりません。]となります。

例え現在のセグメントと100のネットワークがVPNで繋がっていたとしてもダメなので、
上手く出来ない場合はipconfigで確認してみましょう。同セグメント必須!

コメント