社内SEの話

日々起きたことの記録用

VBAが実行できない

↓プログラミングで副業を考えたらこちら↓

症状

セキュリティリスク

このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。

と表示され、マクロが実行できないケースが最近発生しました。

トラブルになった日の近辺でもマクロを使った操作をしていたようで、Windowsの更新で使えなくなったと推察できます。

どうして

Windowsでは共有フォルダにあるマクロファイルの実行を制限しています。

どうしてかというと近年頻発しているウィルスがマクロを使っているため、マイクロソフトがセキュリティ対策で実行不可にしたようです。

詳しくはこちらから

docs.microsoft.com

対策

公式アナウンスにも対策がありますが、わかりやすくまとめます。

対策1 自分のPCで実行する

共有フォルダにあるファイルの実行に対して制限がかかっています。

そのため自分のPCにファイルを移動させることでマクロの実行ができるようになります。

対策2 許可済みに登録する

自分のPCと共有フォルダとの間に信頼済み(不審な接続先ではない)であることが確認できれば、共有フォルダにあるファイルを直接実行できます。

少し難しい設定ですが、手順を紹介します。


Winキー 押した後 『インターネットオプション』と入力します


最も一致する検索結果にインターネット
オプションが表示されるので、起動させます。


セキュリティタブを選択します。


ローカルイントラネットを選択しサイトを押します

詳細設定を押します

このWebサイトゾーンに追加するに共有フォルダの名前を入力します。

追加し、閉じるを押します。

あとは開いたウィンドウをすべてOKで閉じれば設定は完了します。

この時フォルダ名までは必要ありません。

サーバー名だったり、共有フォルダのコンピューター名を入力してください。

設定は以上です。

改めてマクロを実行してみると実行できるはずです。

注意点

すべての対策に言えますがマクロを使っている以上セキュリティのリスクがあります。

業務に影響のない範囲でVBAマクロを使った業務は減らした方がいいと思います。

注意点2

許可済み登録をしたのに、実行できないケースが可能性として考えられます。

その場合は以下のケースで対応できるかも知れません。

1 一度すべてのPCの電源を落とす

2 共有フォルダのあるPCだけ起動させる。

3 共有フォルダPCが起動したら自PCを起動させる。

これは共有フォルダのコンピューター名を覚える処理に失敗してしまった時に使います。

Windowsの仕様なので仕方なくIPアドレスを指定するか、翌日再挑戦するなどの手間があります。