- 締切済み
VBAプロジェクトのロック解除が出来ない
VBAのプロジェクトが勝手にロックされてしまい解除出来なくなってしまう件についての質問です。 症状としては、何か特定の作業を行ったという訳ではなくVBAプロジェクトのロックが掛かってしまい、内容が表示されなくなってしまうといったものです。 (私の場合は何度かこの症状になり、復活させたファイルでも違う状況で同様の症状が発生しました。) 他の質問掲示板等も拝見しましたが、多くの回答は「ロックされているんだから正しいパスワードを入れなければ解除できない」というものでした。 しかしこの質問者達の置かれている状況はおそらくこれとは違うものなのだろうと考えられます。 そのロックの解除パスワードを入力するはずの画面すら表示されないのです。 私も現在あるmdbがこの状態になってしまい困っています。 通常パスワードでのロックが掛かっている場合ではモジュールの画面でパスワードを入力するウィンドウが表示される場面で、「プロジェクトがロックされています。プロジェクトを表示できません。」というウィンドウが表れます。 一度キャンセルをして、[ツール] → [×××のプロパティ]でも同様です。 この状態は、何らかの原因でファイルが破損してしまった、という事なのでしょうか? またもしファイルの破損であるとした場合、どういった事が原因で発生する可能性があるのでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- DexMachina
- ベストアンサー率73% (1287/1744)
ひょっとしたらですが、Access2000とAccess2003が混在した環境で、そのmdbファイルを 使用していませんか? (ここでいう「混在」は、1つのPC上の共存だけでなく、LANで接続された別のPCにそれぞれ 一方のみがインストールされている場合も含みます) もしそうでしたら、デジタル署名がらみのバグに引っかかった可能性が考えられます。 (私も、職場のAccessのバージョンが2000から2003に上がった際に、これに当たりました) 下記を参考に、「回避策」を実行してみてください。 (機械翻訳のため、ややわかりにくい表現ですが・・・「プロジェクトは、 unviewable です。」 =「プロジェクトを表示できません。」です) http://support.microsoft.com/kb/823225/ja 簡単に言うと、「2003で一旦デジタル署名をつけてから、再び削除」という操作になります。
- Bonk
- ベストアンサー率66% (6/9)
「テーブル'TempMSysAccessObjects'は既に存在しています。」に、関しては、 http://support.microsoft.com/?kbid=818099 に、情報がありました。
お礼
これにつきましてはご指摘の通り隠しテーブルを表示させ削除で対応致しました。 ありがとうございました。
- Bonk
- ベストアンサー率66% (6/9)
該当するMDBファイルを排他モードで開いてもダメですか? Excelのブックでは"ファイルの共有"をしていると「プロジェクトがロックされています。プロジェクトを表示できません」というメッセージが表示されますが・・・。
補足
ご返信頂きありがとうございます。 排他モード・読み取り専用モード試しましたがどちらもダメでした。 ちなみにmdbを終了する際に 「テーブル'TempMSysAccessObjects'は既に存在しています。」 という警告メッセージが表示されます。 これが何か影響しているのでしょうか?
補足
ご返答頂きありがとうございます。 確かにご指摘の通りAccess2003で作成したファイルをAccess2002で動作確認しておりました。 指示された回避策ですが、実施致しましたが相変わらず変化はありませんでした。 一応バックアップは取っていたので今回は問題はありませんでしたが、なぜこの事象が発生したのかの原因は掴みたいのが実情です。 一つの可能性として、大量のデータをインポート → 集計 → エクスポートしていた為に、Accessのファイルキャッシュが貯まり2ギガになってエラーを起こした事が考えられます。 同じファイルに定期的に最適化をするコマンドを付け加えてテストしていますが、現状では症状は再発しておりません。