Excelのマクロのセキュリティを強制的に変更したい

Excelのマクロのセキュリティを強制的に変更したい

社内でマクロウィルスに感染しやがったアホが出ました。
おまけに感染ファイルを得意先にメール添付して送信までしやがって、日本の反対側まで謝罪に行かなくちゃならなくなったりでまあ大変でした。

アホはマクロのセキュリティを最低レベルに勝手に下げてそれを忘れていたってのが原因だと主張しやがりましたので、今後強制的にマクロのセキュリティをあげた状態でExcelを起動させようと思います。
そんな技、ありますか。

~テンプレ~

それを管理しているのはレジストリ。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Excel\Security
にあるREG_DWORD 値の
VBAWarnings
という値の値のデータを下記のように設定します。

4 : 警告を表示せずにすべてのマクロを無効にする
2 : 警告を表示してすべてのマクロを無効にする【既定】
3 : デジタル署名されたマクロを除き、すべてのマクロを無効にする
1 : すべてのマクロを有効にする
※文字列はセキュリティセンターの『マクロの設定』の順に書きましたけど、対応するレジストリの値のデータは2と3が逆になってるので注意。


設定するバッチファイルを配りましょう
メモ帳を起動し、下記を記述し、拡張子*.batで保存すればOKです。
下記はExcel2013のものです。
Excel2010なら「15.0」→「14.0」に、Excel2016なら「16.0」に書き換えます。
2007だとエントリの名前が「VBAWarnings」じゃなくて「Level」だってどっかに書いてあった気がするけどよく知りません。
-------ここから-------
@echo off
echo.
echo 「デジタル署名されたマクロを除き、すべてのマクロを無効にする」に設定
echo ==============================================================
echo.

reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d "3" /f

SET EXCEL_EXE=C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE
START "" "%EXCEL_EXE%"

pause
exit
-------ここまで-------

この*.batファイルをダブルクリックで実行すると

3edfr4.png

これが表示された後で設定が反映されたExcelが起動します。

SET EXCEL_EXE=C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE
START "" "%EXCEL_EXE%"

の部分を削除すると設定だけを変更します。
SET EXCEL_EXE=C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE
は変数にExcelまでのフルパスを設定してあります。WordやPowerPointに流用できます。

最後の行を
START "" "%EXCEL_EXE%" "<ファイルまでのフルパス>"
とすれば、設定を反省させた上で特定のExcelブックを開くこともできます。






値をデフォルト状態に戻すなら
-----ここから-----
@echo off
echo.

reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d "2" /f

pause
exit
-----ここまで-----




関連記事
Guide
  •  …この記事と同じカテゴリの前後記事へのページナビ
  •  …この記事の前後に投稿された記事へのページナビ
 

~ Comment ~

  ※コメントの編集用
  シークレットコメントにする (管理者のみ表示)

~ Trackback ~

卜ラックバックURL


この記事にトラックバックする(FC2ブログユーザー)

MENU anime_down3.gif

同じカテゴリの記事が一覧表示されます
同じタグの記事が一覧表示されます
更新月別の記事が一覧表示されます
キーワードで記事を検索