EXCELでたまに、ファイルを開こうとすると、「編集のためロックされています。使用者は〇〇◯です。」と出て、読み取り専用でしか開けない事がありますよね。そして使用者は自分(のユーザー名)が表示されているケース…
原因:エクセルの終了処理をせずに強制終了されてしまったため
解決方法
- タスクマネージャーでエクセルのプロセスをすべて終了
- 再起動
- tempフォルダの中身をすべて削除
- Excel15.xlbファイルの削除
- XLSTARTフォルダの中身を削除
Excel15.xlbファイルの場所は
(C:¥Users¥ユーザー名¥AppData¥Roaming¥Microsoft¥Excel)
XLSTARTフォルダの場所は
(C:¥Users¥ユーザー名¥AppData¥Roaming¥Microsoft¥Excel¥XLSTART)
ユーザー名はそれぞれの環境に読み替え
※何故かコピペでは行かなかったのですが、順に辿っていくと表示されました。
しかし、上記は自分のPC内で完結している場合であって、ネットワーク上の共有フォルダにおいてあるファイルの場合はちょっと事情が違うわけです。
ネットワーク上の共有ファイルも、誰かが使ってると他の人が書き込めないようにロックされるわけですが。
その誰かのPC(または自分のPC)が強制終了などで落ちてしまった場合に、使用していたPCが起動されていなくても、サーバー上のファイルは使用中でロックされたままになっている状態ですね
その場合は、サーバー側で処理してやる必要があるわけです。
一番簡単なのはサーバーを再起動してしまう事ですが、他にも使っている人がいるサーバーではそう簡単に再起動するわけにもいきません。(やったら同じようにロックされたままになってしまう人が大量発生することに・・・笑)
Linuxでsambaを動かしている例で、ファイルを開いているプロセスが残ってしまっているのが原因となるので、そのプロセスを停止してやればロック状態は解除できます。
sambaサーバーの場合は「smbstatus」コマンドで一覧の下の方に「Locked files:」の一覧が表示されるので、そこで該当ファイルを開いているプロセス番号を確認してkillコマンドでプロセスを停止すればOK
「smbstatus」コマンドを実行すると、下の方にこんな感じに表示されると思いますので
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
13662 0 DENY_WRITE 0x12019f RDWR LEASE(RWH) /share1 book1.xls Mon Jan 20 19:14:27 2020
該当ファイルをみつけだして、kill プロセス番号とやればOKですね。
コメント