
◆Excelマクロ開発「システムエラー発生」原因どう調べるか
「使用中のため、書き込みできません」ってなんで?
誰も使ってないはずなのに・・・。
みなさん、こんにちは。セルネッツ竹本です。
今回のテーマは、Excelに特徴的なシステムエラーの一つ「誰も使っていないのに、更新ボタンを押すとエラー警告が出てしまう」といった事象の原因について、解説したいと思います。
共有ブックの更新エラー
誰も使っていないのに「使用中」で更新できない?
- 更新ボタンを押すと、使用中のため書き込めないと警告が出る
- Excelが落ちた後、ロック状態が残って誰も更新できない
- 複数人で同じ台帳を更新し、データが上書きされてしまう
そのお悩み、排他制御の仕組みの見直しで解決できます。Excel専門のシステム開発会社『セルネッツ』なら、競合判定の原因調査、残ったロックを解除する仕組み、少人数向けの排他制御まで対応します。データベースとの連携もご相談いただけます。
\Excel専門特化 × 低価格 × スピード対応/
全国対応・お見積もり無料
◆Excelマクロ開発でも、少人数なら排他制御ができる
まず、がっちりしたデータベース系のシステム構築とOfficeに含まれる表計算ソフトExcelアプリケーションは、構造に大きな違いがあります。
複数人が同じファイルやデータに更新をするとき、早い者順、が正しいのですが、実は、この仕組みってとても原子的なのです。
【✕】今は、誰かが使っているので、終了開放されるまで、更新NG
【◯】使っていないので、更新OK
といった仕組みなんです。問題はこれをどう管理するか。
いくつか方法はあるのですが、特定ブックが開かれた瞬間に、特定場所に用意してある「競合管理ファイル(例:競合管理.txt)」の先頭行に、使用中と書き込んでしまう。終わったらクリアする。
といった仕組みです。これ、テキストじゃなく、Excelシートでも代替できます。
が、データベースではないExcelにとって、仕組みは作れても不安定なパソコンを使用していて、予期せぬエラーや、シャットダウンなど、突然、Excelが落ちることもあります。
こんなケースでは、実際は、「使われていないが、使われていることになっている」というのが多い原因です。
◆どこに着目すれば良いか?
プログラムソースを読み解ける場合は、エラーメッセージを表示している箇所の直前で、その判定が行われているはずです。
(可読性を考えれば、きっとそう・・・)
ですので、その判定方法を解析できれば、残骸を削除するなどで、解決を図ることができます。
Excelエラー解決サービス
目の前のエラーは、1件30,000円で調査します
- 1件30,000円(税別)、対応は3時間以内
- 解決できなかった場合は料金をいただきません
- リモート接続での対応も可能です
まずエラーだけ解消したい場合はExcelエラー解決サービスをご利用ください。1件30,000円(税別)で、解決できなかった場合は料金不要です。排他制御の作り直しは参考価格45万円〜(税別)で、相見積もりも歓迎です。利用人数が多くExcelに向かない場合は、正直にお伝えします。
\Excel専門特化 × 低価格 × スピード対応/
全国対応・お見積もり無料