セキュリティー警告の表示を抑制する方法は3つあります。
- マクロのレベルを下げる
- 「信頼できる場所」にAccessの実行フォルダを登録する
- ソフトウェア証明書を付ける
- パッケージ化する
ただし、1および2の方法はランタイムでは使用できません。なぜなら、マクロのレベル設定画面自体を表示できないからです。
以下は、Access2003でモジュール(VBA)からマクロレベルを変更する方法です。
Access2003でVBAによるマクロレベルの変更方法
‘ [ツール] メニューの [参照設定] で “Microsoft Office 11.0 Object Library” を参照します。
Dim cBars As Office.CommandBars
Dim cBarCtl As Office.CommandBarControl
Set cBars = Application.CommandBars
‘ [マクロ] の [セキュリティ] ボタンの ID (識別子) ‘3627’ をセットします。
Set cBarCtl = cBars.FindControl(msoControlButton, 3627)
‘ セットしたコマンドバー コントロールを表示します。
cBarCtl.Execute
以下はAccess2007でレジストリを直接編集して「信頼できる場所」を登録する方法です。
Office 2007 の信頼できる場所をレジストリから設定する方法
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\Trusted Locations の下に「Location<数字>」というキーを作ります。
(※レジストリキー中の「Access」の部分は、アプリケーションによって「Excel」、「Word」になります。)
<数字>の部分は「0」からの連番となります。既に作成されている場合は次の最大値の次の番号を付けて下さい。
上記の下に登録したい場所を設定します。正式には4つのキーを登録する必要がありますが、最低限「Path」だけ設定すれば動作するようです。
Path | 文字列値 | 信頼できる場所に追加したいフォルダ | 必須 |
Date | 文字列値 | 設定日時 | 省略可 |
Description | 文字列値 | 説明 | 省略可 |
AllowSubfolders | DWORD(32ビット)値 | サブフォルダも信頼するかどうか | 省略可 |
コメント