Excelマクロについてです。昨今セキュリティが厳しくてマクロを実行するのが簡単ではなくなりました。現在Microsoftはデフォルトでマクロを無効にしています。ですが、完全にマクロを使わないわけにはいきません。仕事でどうしてもマクロが組まれたexcelを使う必要が出てきます。
そこで「信頼できる場所」をActive Direcotry側のGPO(グループポリシーオブジェクト)で作成し、そこで実行することを許可することにします。ADはオンプレミス版で説明いたします。
ユーザーが使用するOfficeのバージョンは2016,2019,2021,365です。
流れ
大きく分けてやることは2つです。
- Office管理ポリシーをActive Directoryで利用できるようにする。
- インストールしたOffice管理ポリシーを使用して「信頼できる場所」を設定する
Office管理ポリシーをActive Directoryで利用できるようにする
Office管理ポリシーはデフォルトでWindows Serverにインストールされていません。まずは下記サイトからダウンロード・インストールする必要があります。対応Officeは2016,2019,2021,365です。
![](https://papamamameyou.com/wp-content/uploads/2023/06/f4172d6048888b130690e3cbaaa53c05-1-1024x488.png)
インストール方法
インストールは展開したファイルをコピペします。(画像はC:¥tempに展開しています)ADMXファイル群とADMLファイル群の2種類です。
ADMXファイル群
展開した以下のファイルをWindows Serverの C:\Windows\PolicyDefinitions にコピーします。
access16.admx excel16.admx lync16.admx office16.admx onent16.admx outlk16.admx ppt16.admx proj16.admx pub16.admx teams16.admx visio16.admx word16.admx
![](https://papamamameyou.com/wp-content/uploads/2023/06/ea0b7aaef695938f1ee46c52052dcf87.png)
ADMLファイル群
展開した(画像はC:\temp\admx\ja-jp)以下のファイルをWindows Serverの C:\Windows\PolicyDefinitions\ja-JP にコピーします。
access16.adml excel16.adml lync16.adml office16.adml onent16.adml outlk16.adml ppt16.adml proj16.adml pub16.adml teams16.adml visio16.adml word16.adml
![](https://papamamameyou.com/wp-content/uploads/2023/06/26c683e1e8f2b8573b09e2a24038e1a5.png)
これで設定は完了です!「グループポリシー管理エディター」の「ユーザーの構成」→「ポリシー」→「管理用テンプレート」から確認すると「管理用テンプレート: ローカルコンピューターから取得したポリシー定義(ADMX)ファイルです。」という項目が表示されています。
![](https://papamamameyou.com/wp-content/uploads/2023/06/48052b4533a06af8254fafe68db867ff.png)
インストールしたOffice管理ポリシーを使用して「信頼できる場所」を設定する
続いて「信頼できる場所」を設定します。ここでテンプレートを選択する際に注意すべき点があります。それは365を含む設定をしたい場合は「Microsoft Office 2016」を選択しなければならないということです。
2016,2019,2021だけでしたら「Microsoft Excel 2016」で問題ないです。しかもこちらは「ネットワーク上の信頼できる場所を許可する」がありますので社内LAN内のNASにあるExcelマクロを実行することが容易になります。しかしこの設定は「Microsoft Office 2016」にはありません。(セキュリティ上の問題でわざとないのかな?)
![](https://papamamameyou.com/wp-content/uploads/2023/06/845532a9521d5a4f75ba515983890fcf.png)
365を含む設定方法
2016,2019,2021,365の設定方法です。以下のパラメータ設定を変更してください。
「Microsoft Office 2016」→「セキュリティ設定」→「セキュリティセンター」
![](https://papamamameyou.com/wp-content/uploads/2023/06/9a76afc528dc234289fc2fff3128a090-1024x433.png)
「信頼できる場所 #1」を有効にします。
![](https://papamamameyou.com/wp-content/uploads/2023/06/68c2a25010423b4cf45fb415a277b984.png)
<ヒント>
ユーザーフォルダを参照したいときは「%username%」と記載します。上記画像はデスクトップを「信頼できる場所」に設定しています。
2016,2019,2021の設定方法
ちなみに2016,2019,2021だけでよければ下記のパラメータ設定を行ってください。
「Microsoft Excel 2016」→「Excelのオプション」→「セキュリティ」→「セキュリティセンター」→「信頼できる場所」
![](https://papamamameyou.com/wp-content/uploads/2023/06/c3dca64966127ff385b32ed0c1ff572b.png)
「信頼できる場所」を設定できるだけでなく、「ネットワーク上の信頼できる場所を許可する」ことが可能です。
設定確認
グループポリシーが反映されているか確認します。Excelを開いて
画面左上「ファイル」→「オプション」(以下バージョンによって異なる)→「トラストセンター」→「トラストセンターの設定」→「信頼できる場所」を参照してください。
「ポリシーによって設定された場所」欄にグループポリシーが設定されていれば成功です。365の場合は場合によっては「自分のネットワーク上にある信頼できる場所を許可する(推奨しません)」をユーザー側で有効にする必要があります。(「推奨しません」とのことです。)
![](https://papamamameyou.com/wp-content/uploads/2023/06/4ace96022ed48e3c891deb1aad47ecb7.png)
まとめ
マクロ実行に対するセキュリティはこれからもっと厳しくなると思います。社内業務でマクロを利用しなくてもよい選択ができるのであればマクロではなく別の方法で運用することが望ましいです。しかし現実はそんな簡単にいかないところがあります…正しいことができないんだ…
コメント