Access

今回は、Access Runtime(ランタイム版)実行時の
セキュリティに影響を及ぼす可能性のある問題点が検知されました。
警告メッセージを非表示にする設定について紹介します。

エラーメッセージ

なぜ警告が表示されるか

警告メッセージに、
警告:このコンテンツの発行元が信頼できるかどうかを確認することはできません。このコンテンツが重要な機能を備えており、発行元が信頼できる場合を除き、このコンテンツは無効のままにしてください。
と、書いてあるとおり、発行元が信頼できるかどうかを確認できないためです。

この警告はメッセージこそ違えど、以下のように有償のAccessにも同じように出てきます。

対処方法は、有償・無償共通で以下2つあります。
1.信頼できる場所に追加する
2.すべてのマクロを有効にする

ただ、有償のAccessの場合はセキュリティ設定を変更することで対処できますが、
(ファイル→オプション→セキュリティセンター→セキュリティセンターの設定で、
「信頼できる場所」「マクロの設定」が変更できます。)
無償のAccess Runtime(ランタイム版)は設定変更の機能を持ち合わせていません

よって、対処方法を実施するためにはレジストリを変更する必要があります。

対処方法

以下のどちらかの箇所のレジストリを変更することです。
1.信頼できる場所に追加する
2.すべてのマクロを有効にする

レジストリ変更方法は
・レジストリエディターで変更する方法
・コマンドプロンプト(BAT)で変更する方法

があります。

両方紹介しますが、コピペするだけででき、見当違いの場所を変更してしまうなどミスも減ること、
複数台のパソコンに反映できること等考慮すると、
コマンドプロンプト(BAT)で変更する方法がおすすめです。

信頼できる場所に追加する

レジストリエディターで変更する方法

まずレジストリエディターを開きます。
「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、
「regedit」と入力してエンターを押すと開くことができます。

レジストリエディタ

その後、以下の階層に移動し、
「コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\XX.0\Access\Security\Trusted Locations」
左側の枠内の「Trusted Locations」を右クリック→新規→キー
→名前を「Location10(既定のLocation2以外の数値で設定)」に変更
→右側の枠内で右クリック→新規→文字列値→名前を「Path」
→「Path」をダブルクリック→値を普段使用するAccessファイルの入ったフォルダパスに変更
→右側の枠内でクリック→新規→DWORD値→名前を「AllowSubfolders」
→「AllowSubfolders」をダブルクリック→値を「1」に変更

設定

これで設定完了です。
上記の階層はAccessのバージョンによって異なり、以下の通りです。

・Access 2016 Runtime
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations

・Access 2013 Runtime
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security\Trusted Locations

・Access 2010 Runtime
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations

コマンドプロンプト(BAT)で変更する方法

以下をAccess Runtimeのバージョンに合わせて、
管理者権限を持つユーザーにてコマンドプロンプトから実行してください。

「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、
「cmd」と入力してエンターを押すと開くことができます。

コマンドプロンプト

BATで利用する場合、以下で紹介するコマンドをメモ帳へコピーして保存し、
最後に拡張子を「txt」から「bat」にしてから実行(クリック)してください。

・Access 2016 Runtime

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location10" /v AllowSubfolders /t "REG_DWORD" /d "1" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location10" /v Path /t "REG_SZ" /d "C:\信頼済みフォルダ" /f

・Access 2013 Runtime

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location10" /v AllowSubfolders /t "REG_DWORD" /d "1" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location10" /v Path /t "REG_SZ" /d "C:\信頼済みフォルダ" /f

・Access 2010 Runtime

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location10" /v AllowSubfolders /t "REG_DWORD" /d "1" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location10" /v Path /t "REG_SZ" /d "C:\信頼済みフォルダ" /f

すべてのマクロを有効にする

レジストリエディターで変更する方法

まずレジストリエディターを開きます。
「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、
「regedit」と入力してエンターを押すと開くことができます。

レジストリエディタ

その後、以下の階層に移動し、
「コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\XX.0\Access\Security」
右側の枠内でクリック→新規→DWORD値→名前を「VBAWarnings」
→「VBAWarnings」をダブルクリック→値を「1」に変更

設定

これで設定完了です。
上記の階層はAccessのバージョンによって異なり、以下の通りです。

・Access 2016 Runtime
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security

・Access 2013 Runtime
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security

・Access 2010 Runtime
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security

コマンドプロンプト(BAT)で変更する方法

以下をAccess Runtimeのバージョンに合わせて、
管理者権限を持つユーザーにてコマンドプロンプトから実行してください。

「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、
「cmd」と入力してエンターを押すと開くことができます。

コマンドプロンプト

BATで利用する場合、以下で紹介するコマンドをメモ帳へコピーして保存し、
最後に拡張子を「txt」から「bat」にしてから実行(クリック)してください。

・Access 2016 Runtime

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security" /v VBAWarnings /t "REG_DWORD" /d "1" /f

・Access 2013 Runtime

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security" /v VBAWarnings /t "REG_DWORD" /d "1" /f

・Access 2010 Runtime

REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security" /v VBAWarnings /t "REG_DWORD" /d "1" /f

どちらの対処方法がいいか

1.信頼できる場所に追加する
2.すべてのマクロを有効にする

の設定方法について紹介しましたが、どちらの方法を選べばいいかですが、
セキュリティの観点だと「信頼できる場所に追加する」
運用の観点だと「すべてのマクロを有効にする」です。
(ただ個人的には大差ないので、完全に好みかなと個人的には思ってます……)

「信頼できる場所に追加する」を選ぶメリット

利用者の限定されるAccessなので、悪質なマクロ付きファイル自体多くないかもしれません。
ただ、「信頼できる場所に追加する」であれば最低限のセキュリティを担保することができます。
例えば、普段使用するAccessファイルの入ったフォルダ(ファイルサーバー)を信頼済みに設定しておくことで、
それ以外で使用するファイル(例えばメールで送られてきたファイル)のみ警告で注意喚起することができます。

「すべてのマクロを有効にする」を選ぶメリット

「すべてのマクロを有効にする」だとマクロは何でも有効になるので、
どこでAccessファイルを動かしても警告がでることはありません。
なので、組織内でどこのフォルダにAccessを作る等ルールを作る必要はありませんし、
例えば社内の情報部門であった場合、社員から警告についての問い合わせを全く受けることがありません
もしレジストリエディタで設定する場合は、手順も簡単です。

最後に

今回は、Access Runtime(ランタイム版)実行時の
セキュリティに影響を及ぼす可能性のある問題点が検知されました。
警告メッセージを非表示にする設定について紹介しました。

ご来訪ありがとうございました♪
何かの参考になれば幸いです。それでは。