2014/12/11

2014 年 12 月の Office の更新後に VBA が使えなくなったら...

最近の Windows Update はいろいろとあれですけど、今月も KB3002339 (Visual Studio 2010 向け)、KB3004394 (Windows 向け)、KB3011970 (Silverlight 向け)、KB2986475 (Exchange 2010 向け)、に問題が出ているようです。今月は Office 向けの以下の更新にもご注意。

Microsoft Security Bulletin MS14-082 - Important
Vulnerability in Microsoft Office Could Allow Remote Code Execution (3017349)

[URL] https://technet.microsoft.com/library/security/ms14-082

Office 2007 だと KB2596927、Office 2010 だと KB2553154、Office 2013 (MSI 版)だと KB2726958。(追記: これは更新プログラムの不具合というわけではないのでアンインストールはちょっと待った

私の場合、Excel 2013 でマクロが有効なワークシート(.xlsm) を開いたところ、右のようなエラーが表示され、シート上のコントロールを操作できない状態に。

古い%USERPROFILE%\AppData\Local\Temp\Excel8.0\MSForms.exd%TEMP%\\Excel8.0\MSForms.exd)を削除すれば、更新プログラムをアンインストールしなくても問題解消しました。MSForms.exd は、次回 Excel 起動時に自動生成されます。Excel 以外の場合は、.exd の場所やファイル名が違うかもしれません。

参考:
コントロールを挿入すると EXD ファイルが作成されます。 
[URL]  http://support.microsoft.com/kb/199830/ja

この回避方法がすべてに有効かどうかはわかりませんが、更新プログラムのアンインストールなしで問題を解消できてよかった(追記: これは更新プログラムの不具合というわけではなく、Axtive X コントロールのキャッシュである .exd ファイルは、そういう運命にあるようです=過去の更新プログラムでもあったよくあるトラブルみたい)。

12/15 AM 追記) The Microsoft Excel Support Team Blog より、公式(?)な対処方法など。
Form Controls stop working after December 2014 Updates 
[URL]  http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2014/12/11/forms-controls-stop-working-after-december-2014-updates-.aspx
12/15 PM 追記) KB も出てた。
"Cannot insert object" error in an ActiveX custom Office solution after you install the MS14-082 security update
[URL] http://support2.microsoft.com/kb/3025036/en-us
1/16 AM 追記) Fix It も出た
 "オブジェクトを挿入できません" エラーが MS14-082 セキュリティ更新プログラムをインストールした後に ActiveX カスタム Office ソリューションで表示される 
[URL] http://support.microsoft.com/kb/3025036/ja

・・・

Office 365 ProPlus などクイック実行 (C2R) 版の場合は、特定の更新プログラムをアンインストールするということができません。ただし、ちょっと前のバージョンに戻すということは可能です。

以下は、その方法。今回の問題とは関係ありませんが、今後のトラブルに備える意味で、クイック実行版 Office ユーザーは知っておいて損はないでしょう。

クイック実行版って何?という方へ。ボリューム ライセンス製品の Office 2013 または MSDN サブスクリプションの Office 2013 は MSI 版です。それ以外はすべて、クイック実行版です(たぶん)。パッケージ製品の Office 2013 や Word 2013 などのアプリケーションはクイック実行版ですし、Office 365 サブスクリプションに付いてくる PC にインストールするやつはクイック実行版です。

クイック実行版の Office 2013/Office 365 アプリケーションは、Windows Update (Microsoft Update) では更新されず、アプリケーションに組み込まれた更新機能で常に最新状態に更新されます。更新されたアプリケーションで問題が発生した場合は、次の方法で古いバージョンに戻すことができます。一般ユーザーの方には、とてもできそうにないので、そんな更新トラブルはもう起こらないことを祈るばかり (7月には起こっちゃったようです)。

クイック実行 (C2R) の Office 2013 も過去の更新バージョンに戻せる (2014/07/28)
How to revert to an earlier version of Office 2013 Click-to-Run
[URL]  http://support.microsoft.com/kb/2770432/

システムの復元がクイック実行の実行環境に悪さをすることもあるみたいですので、こちらもご参考に。一般ユーザーの方は、こうなったらもうワケがワカランでしょうね。

Office 2013 クイック実行の更新を適用後にシステムの復元で更新前に戻すと Office アプリケーションが起動しない 
[URL]  http://support.microsoft.com/kb/2847639/ja

3 件のコメント:

  1. ありがとうございました。

    返信削除
  2. 貴重で稀少な情報ありがとうございます。
    助かりました。

    返信削除
  3. いまさらですが、KBが更新されて、.exdを削除するFixItが公開されます。

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。