共有フォルダーの Excel ブックを開いた瞬間に「使用中です。◯◯ によってロックされています」、ひどいときは「不明なユーザー」。読み取り専用でしか開けず、誰が開いているのかも分かりません。結論から書くと、この表示のもとになっているのはブックと同じフォルダーに作られる隠しファイル「~$ファイル名.xlsx」です。ここに「開いた人のログオン名」が記録されていて、それがそのまま「◯◯」として表示されます。Excel が異常終了してこのファイルが残ったときや、名前が読み取れないときに「不明なユーザー」になります。
この記事では、ファイルサーバー(SMB 共有)と SharePoint/OneDrive で原因系統がまったく違うことを前提に、誰が開いているかを特定してロックを外す手順、残った「~$」ファイルを消してよい条件、そして 1 ファイル占有自体をやめる方向まで順番に整理します。
ロック情報の実体は「~$」で始まる隠しファイル
Microsoft の公式ヘルプは、Office が保存済みファイルを開くときに所有者ファイル(owner file)を作ると説明しています。所有者ファイルは一時的なもので、「そのファイルを開いた人のログオン名を保持する」のが役割です。名前の付け方も決まっていて、チルダ(~)+ドル記号($)+元のファイル名で、たとえば Document.doc の所有者ファイルは ~$cument.doc になります。Excel でも同じ仕組みで、売上管理.xlsx なら ~$売上管理.xlsx が隣に生まれます。
そして公式ヘルプは「別のユーザーによってロックされています」が出る原因を 3 つ挙げています。
- 前回アプリが異常終了し、所有者ファイルが削除されずに残った
- 2 つ目のインスタンスがバックグラウンドで動いていて、そのブックを開いたままになっている
- ネットワーク共有されていて、実際に別のユーザーが開いている
つまり「使用中」の表示は、ファイルが本当に開かれているかではなく「~$ ファイルが存在するか」で決まるということです。だから誰も開いていないのにロックされ続けますし、残骸の中身が読めなければ名前の欄が埋まらず「不明なユーザー」になります。ここは公式ヘルプが「不明なユーザー」という語で理由を説明しているわけではないので、断定はしません。ただ、現場では「異常終了 → ~$ の残留 → 名前が出ない」という並びでほぼ説明がつきます。
置き場所で原因が分かれる:最初に見るべきところ
同じ文言でも、ブックがどこに置かれているかで打つ手が変わります。自分のケースに当たる行から読み進めてください。
置き場所 | 出やすい表示 | 主な原因 | 最初に見るところ |
|---|---|---|---|
ファイルサーバー・NAS(SMB 共有) | 「使用中です。◯◯ によってロックされています」/不明なユーザー | 排他ロックと ~$ ファイルの残留 | ~$ ファイルの有無と、サーバーの[開いているファイル] |
SharePoint・OneDrive | 「編集のためにロックされています」 | 共同編集に対応しない形式や機能、チェックアウト、同期の詰まり | 拡張子と、チェックアウト状態、同期アイコン |
自分しか使っていないブック | 自分の名前でロックされている | 二重起動、プレビュー ウィンドウ、前回の異常終了 | タスク マネージャーのプロセスとプレビュー ウィンドウ |
自分の名前で出ている場合は、公式ヘルプも「すべてのデバイスでファイルが閉じていることを確認します。それでもエラーが発生する場合は、サーバーがファイルのロックを解除するまで数分待ちます」と書いています。先に数分待つのが実は近道です。共有ファイルがロックされて開けないときの対処も合わせて読むと、どこまで待つべきかの判断がしやすくなります。
ファイルサーバーのとき:誰が開いているかを確定してから切る
手順1 ~$ ファイルで所有者の名前を見る
隠しファイルが見えていないと話が始まりません。公式ヘルプの手順はこうです。ローカルや通常の共有なら、エクスプローラーの[表示]で[隠しファイル]が表示される状態にし、問題のブックが置かれているフォルダーへ移動して「~$」で始まる一時ファイルを探します。ネットワーク フォルダーでは、さらに[オプション]→[フォルダー オプション]の[表示]タブで[保護されたオペレーティング システム ファイルを表示しない]をクリアする必要があると案内されています。
「~$」ファイルが見つかったら、まずそれが誰の名前を持っているかです。ファイルのプロパティや、テキスト エディターで開いたときの先頭に現在の所有者名が入っています。名前が読める=その人がまだ開いている可能性が高い、空や化けている=残骸の可能性が高い、という当たりを付けます。
手順2 サーバー側の[開いているファイル]でセッションを特定して切断する
ここからはファイル サーバーの管理者の操作です。Windows サーバーなら、[コンピューターの管理](compmgmt.msc)→[システム ツール]→[共有フォルダー]→[開いているファイル]を開くと、共有越しに開かれているファイルと、開いているユーザー名が一覧で出ます。該当行を右クリックして[開いているファイルを閉じる]でセッションを切ります。共有フォルダーの管理だけを開く fsmgmt.msc でも同じ画面にたどり着けます。
コマンドで確認・切断する方法は Microsoft Learn に openfiles として公式リファレンスがあります。公式の説明は「管理者が、システム上で開かれているファイルとディレクトリを照会、表示、または切断できるようにします」で、openfiles /disconnect は「管理者は、共有フォルダーを介してリモートで開かれたファイルとフォルダーを切断できます」とされています。
- 一覧を出す:openfiles /query /fo table /v(ファイル ID とアクセス元ユーザーが分かる)
- ID で切る:openfiles /disconnect /id 26843578
- ユーザー単位で切る:openfiles /disconnect /a ユーザー名
- 別のサーバーに対して実行する:/s サーバー名 を足す
切断は相手の未保存の編集を捨てる操作です。一覧でユーザー名が出たなら、まずその人に連絡して閉じてもらうのが先です。連絡が取れない・退勤している・PC がスリープしたまま、という場合だけ切断に進んでください。
手順3 プロセスの残骸を落とす
自分の環境に原因がある場合、公式ヘルプは Ctrl+Shift+Esc でタスク マネージャーを開いて取り残された Office のプロセスを終了する、プレビュー ウィンドウを Alt+P でオフにする(プレビューもファイルを掴むため)、それでも直らなければ再起動する、という順番を案内しています。
残った「~$」ファイルを消してよい条件・消してはいけない条件
公式ヘルプは「一時ファイルを選択し Delete キーを押す」とはっきり書いています。ただし、まだ誰かが開いている状態で消すと排他制御が外れるので、条件を満たしてから消してください。
判断 | 状態 |
|---|---|
消してよい | 全員・全端末でそのブックを閉じている/サーバーの[開いているファイル]や openfiles /query に当該ファイルが出てこない/Office のプロセスが残っていない |
消してはいけない | 一覧にセッションが残っている(=本当に開いている)/SharePoint・OneDrive の同期フォルダー内(同期で復活したり競合コピーを増やす)/名前に「~$」が付いていないファイル(それは本体です) |
開いている人がいるのにロックを外して両方から保存すると、最後に保存した側だけが残ります。同期フォルダーで似たことが起きたときの後始末は、OneDrive の競合コピーが増えたときの整理手順にまとめてあります。
待つなら[通知]ボタン、急ぐなら読み取り専用で開いて別名保存
公式ヘルプによると、[使用中のファイル]ダイアログが表示されたときに[通知]ボタンを選べます。これを押しておくと、他のユーザーがそのファイルを閉じたときに自動で知らせが出るので、何度も開き直して確認する必要がなくなります。
今すぐ入力したいなら、読み取り専用で開いて別名で保存し、本体が空いてから差分を戻すのが安全です。公式ヘルプも、他のユーザーに閉じてもらうよう依頼する/読み取り専用で表示する、という選択肢を並べています。読み取り専用のまま解除できないときの切り分けは、エクセルを開くと読み取り専用になる原因と解除手順が近道です。
私たちはこうした「1 枚のブックを順番待ちで触る」状態を、入力画面と集計を分けた形に組み替えるお仕事もしております。記事の途中で恐縮ですが、もしご興味があれば覗いていただけたら嬉しいです。
SharePoint・OneDrive のときはロックの意味が違う
クラウド側のロックは、排他ファイルではなく共同編集できない理由がそのまま出ています。公式ヘルプは、共同編集をサポートしないバージョンの Excel を使っているとロック エラーが表示されると明記し、対処として共同編集対応バージョンの確認、OneDrive/SharePoint 上での保存、ファイル形式の確認、OneDrive 同期アプリの確認、共同編集に対応していない機能の削除を挙げています。
- 形式:古い .xls や共有ブック機能を使っていると共同編集に乗れません。.xlsx に保存し直すのが先です。
- チェックアウト:他の人がチェックアウトしていると編集できません。SharePoint の公式 FAQ は、他のユーザーのチェックアウトを破棄したい場合はファイルまたはサイトの管理者に依頼する、と案内しています。
- 同期の詰まり:公式ヘルプは SharePoint の同期が原因のときは同期を一時停止して再開するよう案内しています。
そもそも同時編集にならない(交互にしか開けない)場合は、Excel の同時編集ができないときの確認順を先に通すと早いです。
Excel のバージョンによる違い
環境 | ロックの出方 |
|---|---|
Microsoft 365・Excel 2021(デスクトップ) | [使用中のファイル]ダイアログと[通知]ボタンが出る。~$ ファイルの考え方もそのまま当てはまる |
Excel for the web(ブラウザ) | そもそも共同編集が前提で、~$ ファイルをユーザーが触ることはない。開けない場合は権限・チェックアウト・形式の問題として見る |
Excel for Mac | 一時ファイルの考え方は同じだが、タスク マネージャーや[コンピューターの管理]に相当する操作は Windows 側のサーバー管理機能なので、サーバー担当に依頼する形になる |
なお[コンピューターの管理]や openfiles は Windows の機能なので、Excel のバージョンとは無関係に使えます。
根本的には「1 ファイル占有」をやめるほうが早い
ロックを外す手順を覚えるより、順番待ちが起きない形に変えたほうが現場は楽になります。実務で効果が大きいのは次の 3 つです。
- 置き場をクラウドに寄せて同時編集にする:SharePoint/OneDrive に .xlsx で置き、共同編集が効く状態を作る。ここが整うとロック自体が出なくなります。
- 入力と集計を分ける:全員が触るのは入力画面だけにして、集計ブックは読み取り専用にする。同じセルを奪い合う構造をなくします。
- 台帳は行追加だけにする:レイアウト変更や書式の調整を伴う作業を台帳から切り離すと、長時間開いたままの人が減ります。
Excel 自体をやめる前提の話ではありません。どこまで Excel で持ち、どこから別の仕組みに渡すかの線引きは、エクセル管理をやめるときの移行手順に具体例を書いています。あわせて、ロックと同時に「参照が正しくありません」も出ているブックは定義名やピボットの参照まで壊れていることが多いので、参照が正しくありませんの出た場所別の直し方で先に片付けると切り分けが楽になります。
ロックが毎週のように起きている職場では、原因がファイルではなく運用の形にあることが多いです。どこを分ければ止まるのかだけでも、よろしければお気軽にご相談ください。
よくある質問
「不明なユーザー」と出るのは誰が開いているのですか?
名前が特定できていない状態です。ロック情報はブックと同じフォルダーの「~$ファイル名.xlsx」に書かれ、そこに開いた人のログオン名が入ります。Excel の異常終了でこのファイルだけが残り、名前を読み取れないと相手が特定できません。サーバーの[開いているファイル]や openfiles /query に該当ファイルが出てこなければ、実際には誰も開いていない残骸です。
「~$」で始まるファイルは消しても大丈夫ですか?
全員・全端末でそのブックを閉じていて、サーバーの[開いているファイル]や openfiles /query にも出てこないなら消して問題ありません。Microsoft の公式ヘルプも、隠しファイルを表示して「~$」の一時ファイルを選択し Delete キーを押す手順を案内しています。まだ開いている人がいる状態で消すと、最後に保存した人の内容だけが残る上書き事故につながります。
サーバー側で誰が開いているか調べる方法は?
Windows サーバーなら[コンピューターの管理]→[システム ツール]→[共有フォルダー]→[開いているファイル]で、共有越しに開かれているファイルとユーザー名が一覧で出ます。コマンドでは openfiles /query /fo table /v で一覧、openfiles /disconnect /id ファイルID または /a ユーザー名 で切断できます。いずれも管理者の操作で、切断は相手の未保存の編集を失わせるので連絡を先にしてください。
相手が閉じたらすぐ知る方法はありますか?
[使用中のファイル]ダイアログに表示される[通知]ボタンを押しておくと、他のユーザーがファイルを閉じたときに自動で知らせが出ます。何度も開き直して確認する必要がなくなります。急ぐ場合は読み取り専用で開いて別名保存し、本体が空いてから差分を戻すのが安全です。
SharePoint や OneDrive でもロックの原因は同じですか?
別系統です。クラウド側では、共同編集に対応しないバージョンや形式・機能を使っている、他の人がチェックアウトしている、同期が詰まっている、といった理由でロック表示になります。公式ヘルプは対応バージョンの確認、.xlsx での保存、OneDrive 同期アプリの確認、同期の一時停止と再開を案内しており、他ユーザーのチェックアウト解除はファイルまたはサイトの管理者に依頼する形になります。
ロックが毎週起きるのですが、設定で止められますか?
排他ロック自体を無効にする設定はなく、置き場と運用を変えるほうが確実です。SharePoint/OneDrive に .xlsx で置いて共同編集が効く状態にする、全員が触るのは入力画面だけにして集計ブックは読み取り専用にする、台帳は行追加だけにする、という 3 つで順番待ちそのものが減ります。