VBA コードを保護する
Access プロジェクト (Access プロジェクト : Microsoft SQL Server データベースに接続し、クライアント/サーバー アプリケーションの作成に使用する Access ファイル。プロジェクト ファイルには、データやデータ定義を基にしたオブジェクト、つまりテーブルやビューなどは含まれません。) (.adp ファイル) では、すべてのモジュールと、フォームおよびレポートの背後にあるモジュールを、Visual Basic for Applications (Visual Basic for Applications (VBA) : Microsoft Windows ベースのアプリケーションの作成に使用される Visual Basic のマクロ言語バージョン。いくつかの Microsoft プログラムで使用できます。) (VBA) コードのパスワードを使用して保護できます。Visual Basic Editor (Visual Basic Editor : Visual Basic for Applications のコードやプロシージャを作成および編集するための環境。Visual Basic Editor には、コードの構文、実行、および論理に関する問題を見つけるためのデバッグ ツールセットが用意されています。) で VBA コードを表示または編集しようとすると、このパスワードの入力を求められます。いったんパスワードを設定すると、セッション (セッション : Jet データベース エンジンによって実行される一連の操作のこと。ユーザーのログオンしてからログオフするまでが 1 回のセッションです。セッション中のすべての操作は 1 つのトランザクションの適用範囲となり、ユーザーのログオン権限に制限されます。)のたびに、パスワードが求められるようになります。モジュールの表示と編集だけでなく、切り取り、コピー、貼り付け、エクスポート、および削除にもパスワードが要求されます。ただし、これらのセキュリティ対策を使用して VBA コードを保護しても、既存の VBA コードを実行するユーザーは制限できません。
.ade ファイルについて
Access プロジェクト (.adp) ファイルに Visual Basic for Applications (VBA) のコードが含まれている場合、Access プロジェクトを .ade (ADE ファイル : すべてのモジュールがコンパイルされ、すべての編集可能ソース コードが削除された Access プロジェクト (.adp) ファイルです。) ファイルとして保存すると、すべてのモジュールがコンパイルされ、編集可能なすべてのソース コードが削除され、Access プロジェクト ファイルが最適化されます。.ade ファイルでは、VBA コードを実行することはできますが、VBA コードを表示したり編集したりすることはできません。
Access プロジェクト ファイルとしての機能には何も変わりはありません。つまり、データを更新し、レポートを使用できるということです。さらに、コードが削除されて Access プロジェクトのサイズが縮小するため、メモリ使用が最適化され、パフォーマンスが向上します。
Access プロジェクト ファイルを .ade ファイルとして保存すると、プロジェクトのデザインは変更できますが、次の処理ができなくなります。
フォーム、レポート、またはモジュールのデザイン変更に関する注意事項
オリジナルの Access プロジェクト ファイルのコピーを必ず保管しておいてください。.ade (ADE ファイル : すべてのモジュールがコンパイルされ、すべての編集可能ソース コードが削除された Access プロジェクト (.adp) ファイルです。) ファイルとして保存した Access プロジェクトのフォーム、レポート、またはモジュールのデザインを直接変更することはできません。変更が必要な場合は、保管しておいたオリジナルの Access プロジェクトに変更を加え、再び .ade ファイルとして保存してください。
Access の将来のバージョンでは、Access 2002 以降の .ade ファイル内のコードを開いたり、変換したり、実行することができなくなります。Access 2002 以降の .ade ファイルを Access の将来のバージョンに変換する唯一の方法は、オリジナルの Access プロジェクト ファイルを開き、Access の新しいバージョンに変換し、.ade ファイルとして保存することです。
Access プロジェクト ファイルを .ade ファイルとして保存する際の注意事項
条件が整っていないと、Access プロジェクト ファイルを .ade (ADE ファイル : すべてのモジュールがコンパイルされ、すべての編集可能ソース コードが削除された Access プロジェクト (.adp) ファイルです。) ファイルとして保存することはできません。
参照と .ade ファイルについて
他の Access プロジェクトまたはアドインを参照する Access プロジェクト ファイルまたはアドインから .ade (ADE ファイル : すべてのモジュールがコンパイルされ、すべての編集可能ソース コードが削除された Access プロジェクト (.adp) ファイルです。) ファイルを作成しようとすると、エラー メッセージが表示され、操作を完了できません。他の Access プロジェクトを参照する Access プロジェクトを .ade ファイルとして保存するには、最初に参照されるプロジェクトから順に、連鎖的な参照が行われているすべてのプロジェクトを .ade または .mde (MDE ファイル : すべてのモジュールがコンパイルされすべての編集可能ソース コードが削除された Access データベース (.mdb) ファイルです。) ファイルとして保存する必要があります。最初に参照されるプロジェクトを .ade または .mde ファイルとして保存したら、次に参照されるプロジェクトを保存する前に、そのプロジェクトの参照先を新しく保存したファイルに更新する必要があります。同じ要領で、他のファイルも保存します。
たとえば、Project1.adp が Project2.adp を参照し、Project2.adp が Project3.mda を参照している場合は、次の手順で操作します。
.ade ファイルのセキュリティ設定について
Access プロジェクトでは、Access データベース (Access データベース : 特定の項目または目的に関連する、データおよびオブジェクト (テーブル、クエリ、フォームなど) の集合。Jet データベース エンジンが、このようなデータを管理します。) (.mdb) で使用しているのと同じユーザーレベルのセキュリティ (ユーザーレベルのセキュリティ : Access データベースでユーザーレベルのセキュリティを使用している場合、データベースの管理者またはオブジェクトの所有者は、テーブル、クエリ、フォーム、レポート、マクロなどのオブジェクトに対して、個々のユーザーに特定の権限を与えることができます。)機能を使用できません。SQL Server (SQL Server データベース : テーブル、ビュー、インデックス、ストアド プロシージャ、関数、およびトリガから構成される、SQL Server 内のデータベースです。) データベース上に格納されているデータおよびその他のオブジェクトについては、SQL Server コンピュータのセキュリティ機能を使用する必要があります。
Access プロジェクトで VBA コードを保護するには、VBA プロジェクトをパスワードで保護するか、または Access プロジェクト ファイルを .ade ファイルとして保存することにより VBA ソース コードを削除します。Access プロジェクト ファイルのフォーム、レポート、およびマクロのデザインへのアクセスを保護するには、起動時オプションを設定します。