ブログトップ

カクレ理系のやぶにらみ

tamm.exblog.jp

時間のある方はお読みください。軽い気持ちで読み始めると頭が痛くなります。

Access2010のテロ活動(?)

 Access2010を使っていると、3日に1回くらいの割合でVBAが動かなくなることがあります。イベントプロシージャを実行させようとすると、Accessが強制終了するというものです。コードを調べてみるとプロシージャの区切り線がなくなっていることがわかるのですが、最悪の場合、VBAコードを表示させることすらできない場合があります。
 そんな場合、壊れているデータベースを再起動させ、別な名前で保存して(このときに「開いているオブジェクトを閉じますか?」と訊いてくるので、「はい」をクリック。)それを開き直したところ「セキュリティの警告 一部のアクティブコンテンツが無効にされました。クリックすると詳細を表示します。 コンテンツの有効化」というメッセージが表示されたので、迷わず「コンテンツの有効化」ボタンをクリックしたところ、無事にVBAコードを開くことができるようになりました。
 これで、コードが壊れているところ(赤く表示されています)をさがして、すべて削除した後、再度コードを入力すれば、それ以降は正常に動くようになります。


(セキュリティの警告)
c0136904_0493934.jpg



(詳細をクリックしたところ)
c0136904_0503661.jpg



(壊れているVBAコード)
c0136904_0513314.jpg




(正常なコード)いったん削除してイベントにコードを入力し直したもの
c0136904_0523243.jpg





 この図の中にある横線が消えてしまっているためにイベントプロシージャが実行されなくなってしまい、強制終了する羽目に陥ったわけです。
 それを解決するためには、横線が消えているプロシージャをすべて削除して、それぞれのイベントにコードを入力し直すと復旧します。

 Excel2010ではメールで送られてきた添付ファイルが開けなくなるという現象が起きています(この場合、いったん添付ファイルを保存してから、右クリックでプロパティを開き、「ブロックの解除」をクリックすると開くようになります)。
 Access2010では、このようにVBAのコードが破壊されてしまうことがある(原因は不明)ことがあります。
 Office2010のこのような問題に対し、どう対処したらいいかわからずに困っているユーザーも多いのです(私のブログでは今のところExcel2010のファイルが開けないという記事のアクセス数が最も多い)から、不完全な製品を出荷するのはいい加減にしてほしいものだと思います。
by T_am | 2011-09-28 00:55 | その他