トレンドマイクロ Q&Aページ  

EXCELマクロウイルスの手動駆除方法

Solution ID
1305892
対象製品 
その他 - ; 
対象OS 
Windows - すべて 
公開日 
2009/02/11 6:26 午前 
最終更新日 
2012/02/22 3:18 午前 

EXCELのマクロウイルスを手動で駆除する方法を教えてください。

-
 前提として弊社製品で検出されるマクロウイルスはすべて製品の機能によって自動駆除が行えます。検出されたマクロウイルスに対して「駆除」を行った時に駆除失敗となる場合は今後の対応のためにも弊社サポートセンターまでご連絡の上、駆除失敗となるファイルを検体としてご提供いただければ幸いです。


 さて、製品の機能により駆除する以外にもマクロウイルスはOFFICEの機能を利用して手動で駆除することもできます。駆除の際に行うことは大別して、

・テンプレートファイルの削除

・EXCELファイルからのウイルスマクロの削除

 の二つがあります。以下に代表的なEXCELマクロウイルスである「X97M_LAROUX」を例に一般的な手動駆除の手順を解説します。


 ウイルス駆除の前に以下の情報が必要です。

・ウイルスが作成するテンプレートファイルのファイル名
 #「X97M_LAROUX」の場合:"PERSONAL.XLS"
 
・ウイルスがマクロをコピーする先は"ThisWorkbook"か独自のモジュールか?
 #「X97M_LAROUX」の場合:独自モジュールを作成

・ウイルスがモジュールを作成する場合はそのモジュール名
 #「X97M_LAROUX」の場合:"LAROUX"

 この3点が確認できない場合、手動駆除は行えません。また、ウイルスマクロ以外にアプリケーションやユーザーが作成した有用なマクロがファイル内に含まれていた場合、それらも削除してしまう可能性があります。有用なマクロかどうかの判断がつかない場合は手動駆除は行わないでください。

A:テンプレートファイルの削除:
 EXCELでは起動時にスタートアップフォルダ(デフォルトではXLSTART)にあるファイルをテンプレートとして読みこむ機能を持っています。ほとんどすべてのEXCELマクロウイルスはこの機能を利用してEXCEL起動時にウイルスマクロを自動的に読みこませる仕組みになっています。注意すべきなのはWIndowsNT/2000などのマルチアカウント環境ではこの「XLSTART」がOFFICEのインストールフォルダ以外に各ユーザー毎にそのプロファイルフォルダにも作成されて複数ある場合があることです。
 以下の手順でウイルスのテンプレートファイルを削除してください。

1)Windowsの「検索」機能で「XLSTART」フォルダを検索します。
「スタートボタン」→「検索」→「ファイルやフォルダ」から名前:"XLSTART"、探す場所:ローカルドライブ、の条件で検索してください。

2)テンプレートファイルを削除します。
 検索されたXLSTARTフォルダすべてについてウイルスのテンプレートファイルの有無を確認し、存在した場合はそのファイルを削除してください。「X97M_LAROUX」の場合、テンプレートファイルは"PERSONAL.XLS"ですので"PERSONAL.XLS"というファイルがあったら削除してください。このテンプレートファイルはウイルスによってファイル名が変わりますので検出されたウイルスのウイルス情報を参照しファイル名を読み替えてこの手順を行ってください。
 また、デフォルトではXLSTARTフォルダは空なので使用者がテンプレートを設定していないという場合はXLSTART内に存在するファイルをすべて削除してもかまいません。

B:EXCELファイルからのウイルスマクロの削除
 ウイルスはファイル内にウイルスのモジュールを作成したりEXCELの標準モジュールである"ThisWorkbook"にサブマクロを作成することによってEXCELファイルに感染します。逆にEXCELの機能を利用してマクロを削除することによってウイルスを駆除できます。

 以下の手順でウイルスマクロを削除してください。

1)EXCELのマクロ警告機能を確認する。
 EXCELにはマクロ実行時に確認メッセージを表示する機能があります。この機能を有効にしておかないと感染ファイルオープン時にウイルスマクロが自動的に実行されて感染しまいますので、必ずこの機能の有効無効を確認してください。まずEXCELを空の状態で起動してください。手順Aでテンプレートを削除しているので単にEXCELを起動しただけではウイルスが動作することはありません。

EXCEL97の場合:
 メニューバーの「ツール」→「オプション」→「全般」タブ内の「マクロウイルスから保護する」チェックボックスをオンにする

EXCEL2000の場合:
 メニューバーの「ツール」→「マクロ」→「セキュリティレベル」タブの設定を「高」か「中」に設定する

2)感染ファイルを開く
 感染ファイルをオープンします。オープン時にマクロの警告メッセージが表示されますので「マクロを無効にする」もしくは「はい」ボタンをクリックしてください。1)の手順でEXCEL2000の「セキュリティレベル」を「高」に設定した場合は何もメッセージが表示されずファイルがオープンします。

3)VBE(VisualBasicEditor)を起動する
 ウイルスマクロの削除はVBEを使用して行います。メニューバーの「ツール」→「マクロ」→「Visual Basic Editor」でVBEを起動してください。

4)ウイルスマクロを削除する
 VBEが起動したらウイルスマクロを削除します。ウイルスがマクロをコピーする先によって以下のa)、b)いずれかの方法でウイルスマクロを削除してください。
 #「X97M_LAROUX」の場合:独自モジュールを作成するのでa)の方法で削除

a)独自モジュールの場合:
 通常オープンしたVBEの画面左上方に「プロジェクトエクスプローラー」のウインドウ(タイトルが「プロジェクト ― VBAProject」となっているウインドウ)が表示されています。このプロジェクトエクスプローラー内の「モジュール」フォルダをダブルクリックして開きます。ウイルスが作成したモジュールを右クリックしてコンテキストメニューから「<モジュール名> の削除」を選択して削除してください。(Excel2000の場合、「<モジュール名>の解放」を選択して削除してください。)削除の際に「~エクスポートしますか?」というメッセージが表示されますので「いいえ」を選択してください。
 #「X97M_LAROUX」の場合:"LAROUX"というモジュールを削除

b)ウイルスマクロを削除する("ThisWorkbook"の場合)
 「X97M_LAROUX」とは異なり、EXCELの標準モジュールである"ThisWorkbook"内にサブマクロを作成して感染するタイプのウイルスもあります。この場合は以下の方法でマクロを削除します。
 「プロジェクトエクスプローラー」内の「Microsoft Excel オブジェクト」フォルダをダブルクリックして開きます。「ThisWorkbook」モジュールがありますのでダブルクリックしてください。VBE内にコード編集のウインドウが開き、マクロコードをテキストエディタの要領で編集することができます。メニューバーの「編集」→「すべて選択」ですべてのコードを選択してDELキーで削除してください。なお、"ThisWorkbook"モジュール自体を削除することはできません。

5)以上でファイル内からウイルスマクロを削除できました。ファイルを保存しクローズしてください。


 以上、手順A,BによってほとんどすべてのEXCELマクロウイルスが駆除できます。上記手順のうち、必要な3点の情報を各ウイルスの情報に則って読み替え、駆除を行ってください。この手順で完全に駆除出来ない一部のウイルスに関しては個々のウイルス情報に手順を記載しておりますのでそちらをご参照ください。


このソリューションに関して、ご意見をお聞かせください。

  • このソリューションは問題解決に役に立ちましたか。

  • このソリューションの内容を改善するために、ご提案/ご意見がありましたらお聞かせください。
    • ※こちらにご質問などをいただきましてもご返答する事ができません。
      何卒ご了承いただきますようお願いいたします。

再検索する

検索