ら・めりえんだ 花のある空間  ホームに戻る

コマンドボタンが押せない問題
 メニューが開けない問題 
データファイルが開けない問題

  2014年12月の Windows Update 以後,ワークシートに張り付けられた「コマンドボタン」が押せなくなった問題,メニューを開けることができなくなった問題についての解決方法を説明します。(2014/12/11)
  Microsoft社から正式な対応が2014/12/16に公開されました。しかし,こちらに寄せられる質問から,どうやら別の問題も含まれ,2種類のバグ症状と対応があるように感じています,その概要と対策を具体的に下記に示します。(2015/01/27)
  それにしても,Windows Updateのバグ → Windows7のメインストリームサポートの終了 → Windows10への無償アップデートのニュース … この流れから,Microsoftの策略ではないかと考えるのは邪推でしょうか…?。



★具体的な症状と原因
・2014/12/09のWindows Update 以後に起きています。実際に自動更新されて発症するのはその1〜2日後になります。
・Excel2007,2010,2013で起きます。症状によって対応が異なります。
種類タイプAタイプBタイプC
症状 ワークシートに張り付けられた「コマンドボタン」が無視されます。マウスポインタをもっていってもポインタの形状が「矢印」に変わりませんし,押すこともできません。次図は正常な場合と異常な場合のマウスポインタです。
 マウスポインタが変わりますか
 この結果,そのボタンに関連付けられたVBAを起動することができません。ショートカットキー等の他の方法ではVBAを起動することができますし,VBAも正常に動作します。
 「コマンドボタン」は認識され,ボタンを押すと一瞬くぼみ,ボタンを押すことができます。
 しかし,その後何も起こらない。場合によっては次のような「実行時エラー32809 アプリケーション定義またはオブジェクト定義のエラーです。」が表示されることがあります。
 
 「〜には読み取れない内容が含まれています。このブックの内容を回復しますか?」等のエラーメッセージが出て,ファイルが読めない。仮に「回復」してもVBAは正常に動作しない。
 「デザインモード」に入ったまま抜け出せない場合もあります。
原因 Windows Update で行われる アッブテート・プログラム(Office用セキュリティ更新プログラム)に原因があります。マイクロソフト セキュリティ情報「MS14-082」に関わる更新プログラムです。
この更新プログラムに対するインストールプログラムが不完全で,「MSForms.exd」というファイルを削除すべきなのに,削除しないままになっていることが原因です。
 ワークシート上のコマンドボタン(ActiveXオブジェクト)にマルウェアが混入する可能性があることが見つかり,2014/12の更新後,コマンドボタンを含むデータファイルの保存形式が変わってしまったことに原因があります。UpdateしているExcelでは,セキュリティを高めるため,ワークシート上のコマンドボタン付きのブックは新しい形式でのみ保存されます。一方,UpdateしていないExcelは,この安全な新保存形式が理解できず,エラーが起きてしまうようです(下図参照)。
 フォームの中のコマンドボタンには危険性がなく,変更されませんでしたので,関係ありません。
対応策下記「対策2」で解消できます。
場合によっては「対策1」を参考にしてください。
殆ど「対策2」で解消されたと報告されています。
Updateによって,「MS14-082」に関わる更新プログラムをインストールしてください。その後,下記「対策2」を実行する。これ以外に完全な解決策はありません。
教委の方針で,Updateが許可されていない,変更するための管理者権限がない,電源投入によって全設定がリセットされる…等の学校は,下記「対策4」を参考にしてください。

タイプB・Cの原因…Updateによって,ワークシートのコマンドボタン付ブックの保存形式が変わった。

★対策4(UpdateできないExcelでは) 2015/02/02公開 2015/2/12追加
 Updateする以外に解決策はありません。逆に,あってはいけないと考えられます。しかし,今後この種のトラブルをこれ以上増やさないための参考資料として掲載しました。

 2014/12のWindows Update以降,コマンドボタン(ActiveX)などのオブジェクトの内部保存形式が変わりました。それ以前の保存形式(以下「旧ファイル」)ではセキュリティ的に問題があったと考えられます。従って,2014/12以後に保存されたExcelのデータファイル(以下「新ファイル」)は,それ以前の旧ファイルとは異なったものになっています。UpdateをしているExcel(以下「正常Excel」)は,内部保存形式が古いものと新しいものの両方を読むことができますが,保存は新しい保存形式(新ファイル)のみとなります。このことが原因で,UpdateをしていなかったExcel(以下「問題Excel」)では,ワークシートにコマンドボタン(ActiveX)が付けられている新ファイルが読み込めないものと考えられます。(上図参照)

 よく似た事態がこれまでにもありました。Excel2003→2007のオブジェクトの書式(や他にもいろいろ)が変わったときと,ある意味似ています。ただし,あの時には「互換モード」という妥協策が残されていましたが,今回は「セキュリティ」が関わっていますので,切り捨てるしか方法がなかったのでしょう。従って,旧型式のファイルに戻すということは,危険性が増すことになり,Microsoftも戻さない方向で修正していると考えられます。このことによって,世の中には新ファイルが徐々に広まっていき,旧ファイルは一部の隔絶された社会でのみ使われていくでしょう。丁度,xlsファイルのようにです。

 しかし,トラブルとしてよく聞かれるのは,市町の方針で問題Excelのままになっていることが問題となります。問題Excelと正常Excelが混在する学校などでは,正常Excelで保存した瞬間,問題Excelで読めなくなる(正常に動作しなくなる)ということです。今回のこの問題がなくても,本来,データファイルの混用は避けるべきです。もし,読めなくなってしまったら,今のところ,読めるバックアップを探して,それを再編集するしか方法はないと思われます。当サイトでも,2014/12以前の旧バージョンも状況に応じて公開するようにしていきますが,必要な方は個別にご連絡ください。

 新しいものは古いものを踏まえて,読み込むようにするのは当然のことですが,古いものは,先々出てくるだろう未来のセキュリティホールまでは分かりません。従って,その時々で修正プログラムで更新するしか方法がなく,それがUpdateの意味です。そのUpdateを出来ないようにすること自身が問題なのです。Excel2007〜2010の場合,Microsoftのメインストリームサポートは終了していますが,延長セキュリティサポートは継続中です。今回の問題は,延長サポートの範囲ですので,今からでも間に合います。ちなみに,Excel2007の延長サポート期限は,2017/10/10です。

 当サイト「教務事務の軽減」では,当然,新しい保存形式のものを基本として(一部に旧形式のものも残して)配布しています。セキュリティ的に問題のあるものを積極的・優先的に配布する訳にはいきません。私に言わせれば,UpdateをしていないPCを使って,個人情報を扱うなどということは論外です。ましてや学校などの公共機関ではやってはいけないことだと考えています。また,Updateを禁止している学校,或いは再起動すると全設定が元に戻ってしまうようにしている学校などでは,管理者に実情を訴えていくことが大切かと思います。警察庁もそのホームページで更新を推奨しています。

 しかし,設置者や市町教委を擁護することになりますが,このように,システムの変更を禁止しなければならなくなった経緯も理解する必要もあるでしょう。組織の中で,適切な活用ができない職員が1人でもいれば,全体を守るための処置は必然です。職員のPCスキルの未熟さ,マナーの悪さ,悪心…反省すべきだと思われます。

 ご自分でVBAを組まれる方は,次のようにして,旧ファイルに戻すことは一応可能です。
@新Excel側で,シート上のコマンドボタンを全て削除して保存する。(旧Excelでは,コマンドボタンの編集・削除ができないと思われます)
A旧Excelでそれを読み込み,コマンドボタンを付け直し,保存する。(コマンドボタンがないので,正常に読み込め,編集もできます)
当サイトで公開している教務事務ソフトにはパスワード保護が施してありますので,コマンドボタンの編集はできません。
推奨できませんが,正常Excel側で一時的に下記「対策1」を行い,保存し直すという手も考えられますが,試していません。



★対策3(一般的にExcelが壊れたら) 2015/01/27公開
・Windows や Excel を修正して,正しい状態に戻すようにします。次のどれが効果的かは分かりませんし
 必ず修正できるかも不明ですが,解消される可能性はあります。

Windows Updateで最新状態にする。 コントロールパネル→システムとセキュリティ→Windows Update
     サポート期限が過ぎていると,必要なUpdateができません。

システム・ファイル・チェッカー・ツールを使用して不足または破損しているシステムファイルを修復する
     SFCを使ってWindowsの不足または破損しているシステムファイルを修復する方法があります。詳細は,ここを見てください。

Office (Excel)をオンライン修復する
     コントロールパネル→プログラム→プログラムと機能→修復する Office (Excel)プログラムを選択し,「変更」 をクリックします。
     「クイック修復」か「オンライン修復」を選択し「修復」(または,修復→続行)

Office (Excel)をアンインストールし再インストールする。 コントロールパネル→プログラム→プログラムと機能→ …
     MicrosoftのサポートページやWEB検索で調べてから,進めてください。


★対策2(推奨) 2014/12/20公開
Microsoft社から公開されている情報によると,次の全「MSForms.exd」ファイルを削除することで解決します。(下図参照)
 Microsoft社のホームページに該当ファイルの削除を自動でやってくれるプログラム「Fix it」が公開されました。(2014/12/19)
 下の手操作が面倒な方(分からない方)はこれを実行するのも1つの方法です


・Excelを終了した状態で手操作で削除します。削除しても,Excelの再起動時に,自動的に正しい「MSForms.exd」が作られます。
 ファイルの所在は,Excelのバージョンによって違います。例えば,Excel2010の場合は,
  C:\ユーザー(Users)\ユーザー名\AppData\Local(ローカル)\Temp\Excel8.0\MSForms.exd
  C:\ユーザー(Users)\ユーザー名\AppData\Local(ローカル)\Temp\VBE\MSForms.exd

・WordやPowerPoint等の他のOffice製品をインストールされている場合は,さらに,
  C:\ユーザー(Users)\ユーザー名\AppData\Local(ローカル)\Temp\Word8.0\MSForms.exd
  C:\ユーザー(Users)\ユーザー名\AppData\Local(ローカル)\Temp\PPT11.0\MSForms.exd

 なども削除します。
・要するに,エクスプローラーで「MSForms.exd」を検索して,全て削除すればよいでしょう。

★対策1(一時的な解決策) 2014/12/12公開
・Microsoftのミスですので,次回(2015/01/14前後)か,それ以前の Windows Update で解決されるようです。
・それまで待ってられない方は,「Office用セキュリティ更新プログラム」を,次の手順でアンインストールすることで解決できます。
 セキュリティ更新プログラムを削除しても,次回(?)のUpdateで正しい(更に修正された)ものがインストールされるでしょう。
 ただし,この作業は各自の責任で行ってください。トラブルが起きても当サイトは責任もちません。

順番操作
1まず,準備としてExcelなどOffice関連のソフトを全部閉じてください。
2スタートメニューから「コントロールパネル」を開いてください。その中の「システムとセキュリティ」をクリック。

3「Windows Update」グループの中の「インストールされた更新プログラムを表示」をクリック

4表示された更新プログラム群の中から問題の更新プログラムを探します。
問題の更新プログラムは,次に示す通りです。
 Office2007の場合「KB2596927」,Office2010の場合「KB2553154」,Office2013の場合「KB2726958」
名前やインストール日で並びかえると探しやすいでしょう。


右クリックで「アンインストール」を始めます。
アンインストールには多少時間がかかります。1〜5分以上かかる場合もあります。
5確認のメッセージが出ます。

さらに,「セキュリティの警告…このプログラムを実行しますか。」といったメッセージが出ることがあります。
アンインストールを進めて,1〜2分程度待ちます。

アンインストールが完了すると,「完了しました」のメッセージが出ます。

Excelを開いて,問題が治ったか確認してみてください。電源の再起動は必要ありません。
6とりあえず,一時的にはこれで解決できたと思われます。
しかし,また同じ更新プログラムが勝手にインストールされてしまいます。
これは,この問題がMicrosoft側で解決・公開するまでの一時的な処置ですのでので,最終的には対策2をお待ちください。


  セキュリティに関するUpdateを解除する訳ですから,確かに,Officeの脆弱性を悪用してリモートでコードが実行されたりする危険性は高くなります。しかし,可能性は低いものだし,1ヶ月後には修正されるはずです。

  そもそも,「ActiveX」は「Office」とは別物ですので,これまでにもトラブルは多かったようです。Excelの仕様は個々のユーザーの意見では変わりませんし,これまでにも切り捨てられた機能もありました。特にVBAなどは,一部のユーザーでしか使われていませんし,セキュリティ的に危険な要素も含んでいますので,切り捨てられる可能性はあると恐れています。
  実は,今回の問題発覚の際も,MicrosoftのVBAユーザー・ActiveXのコマンドボタンユーザーへの嫌がらせ(いやいや警告)だったのかも知れないと,考えすぎています。
  これが,ActiveXコントロールのコマンドボタンではなくて,フォームコントロールのコマンドボタンや図形などのオブジェクトにリンクしていれば,何も起きなかったでしょうから。



ホームに戻る   質問・連絡・利用コードの申込ページへ
  
Copyright© 2002-2017 教務事務の軽減. All rights reserved.