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

こんにちは! イマジネットPCサポートの橋崎です。

Accessデータベースを納品しているお客様から見積書レポート修正依頼がありました。簡単な内容なので現場で作業を始めようとネットワーク経由でファイルを開くと「セキュリティーリスク このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。」と表示され、作業が中断してしまいました。

その時の対応方法を記事にしたいと思います。

環境をご説明

お客様のパソコンにはAccessの製品ではなくAccessランタイムをインストールしています。Accessランタイムは無料で使用する事ができます。これは製品のAccessがインストールされていなくてもAccessファイルを動作させる事ができますが、製品とは違い使用にかなりの制限があります。もっとも大きい制限はテーブル・レポート・クエリ・フォーム等の直接操作・編集が一切できません。

したがってAccessランタイムだけで動作させるファイルにはフォームにマクロやVBAを使用して、処理操作を自動化させた状態のファイルを作成して提供しなければいけません。

そして提供されたユーザーは自動化された処理をフォームを使用して操作できるので基本的には製品は必要なくAccessランタイムで事足ります。

しかし今回はレポートの編集が必要です。

先程「Accessランタイムではテーブル・レポート・クエリ・フォーム等の編集が一切できません。」と説明しました。したがってお客様のパソコンを使用して今回の作業はできません。

ではどのようにしてお客様のパソコンにあるAccessファイルを編集するのでしょうか?

お客様のパソコンには当店で作成したAccessファイルが2つあります。

  • データを操作するためのファイル
  • データを保存するためのファイル

これらのファイルはリンクが設定されており、ひとつのファイルのように操作できます。

このファイルを共有設定したフォルダにまとめて保存しています。

フォルダをネットワークを使用して当店のメンテナンスパソコンからアクセスします。当店のメンテナンスパソコンには製品のAccessがインストールされているので、ネットワークを介して、お客様のパソコンにあるAccessファイルの編集を行う事ができるのです。

いつものようにネットワークを介してファイルを操作しようとすると

ファイルを開くと見慣れない表示があります。

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

これは初見ですね!

このセキュリティ警告なら、わかるのですが・・・

このセキュリティ警告では「コンテンツの有効化」を選択すれば、VBAで作成した自動化の処理が動くようになり処理もスムーズに行えるのですが、今回の警告はどこを選択しても困った事にVBAが有効にできないのです。

有効化できなくても作業はできますが、作業時間が増えてしまいます。

Microsoftが提供した新たなセキュリティー機能

調べてみるとMicrosoftがOffice製品に追加した新たなセキュリティー機能のようで、これはWindowsアップデートから入手しています。

以前からOfficeファイルのマクロにウイルス等を仕込み、電子メール等で感染を広げようとする手段があります。当店でも以前に記事にしましたが、エモネット等の大流行で今回のような一段上のセキュリティ機能が追加されたのでしょうね!

但し以前のOfficeバージョン(2010等)では今回のマクロ無効は適用されていないと思います。

サポートが切れていますからね!

調べてみるとIPアドレスを使用してアクセスしている事が原因のようです。

今回の解決方法1(ファイル名を指定して実行でアクセスした場合)

この作業はウイルス感染のリスクがあります。信頼できるファイルのみで行いましょう!

※IPアドレスを使用せずにアクセスした場合は今回の症状はでません。

今回は「ファイル名を指定して実行」からIPアドレスを使用してお客様のパソコンにアクセスしています。ですからファイルのプロパティを確認するとIPアドレスが表示されています。

このIPアドレスを共有名に変更すれば良いそうです。

共有名の調べ方

共有名は今回であればお客様のパソコンに保存しているAccessファイル2つを格納している共有フォルダを右クリックして「プロパティ」→「共有」タブのネットワークパスに共有名が表示されています。

コピペできるので活用しましょう。

イメージです。

そしてコピペした共有名をメモ帳に張り付け保存しメンテナンスパソコンへUSBフラッシュメモリで移動させ「ファイル名を指定して実行」から実行します。

プロパティの確認するとネットワークパスが共有名に変更されています。

ファイルを開きましたが、警告は出なくなりマクロも実行できるようになっていました。

AccessファイルのデータリンクでIPアドレスが使用できるか?

今回ご紹介した作業はあくまで一時的にお客様のAccessファイルに「ファイル名を指定して実行」からアクセスした事例です。

あまりこのような手法でアクセスする事はないでしょう。

気になったので念のためにAccessのデータリンクでIPアドレスを使用したらどうなるのかも調べてみました。

簡単に概要も説明します。

上で説明した通りお客様のパソコンには2つAccessファイルがあります。

  • データを操作するためのファイル
  • データを保存するためのファイル

操作はデータを操作するためのファイルを使用します。データを保存するためのファイルは文字通りデータを保存するだけです。

このデータベースを複数のパソコンで使用する場合はデータを操作するためのファイルをそれぞれのパソコンへ複製して配置します。(ショートカットではありません。)

例えばサーバーパソコンとクライアントパソコンの2台で操作する場合ファイルの配置は以下の様になります。

  • サーバーパソコン・・データを操作するためのファイルとデータを保存するためのファイルの2つ
  • クライアントパソコン・・データを操作するためのファイルの1つ

クライアントパソコンの操作するファイルからサーバーパソコンの保存するためのファイルへリンクを設定します。このリンクはAccessの機能を使用します。勿論、同一ネットワーク内である事は言うまでもありません。

クライアントパソコンのAccessファイルを動作させます。ネットワーク経由でサーバーパソコンのデータを保存するためのファイルにアクセスしているはずですが、結果は警告等は表示されず問題はありませんでした。勿論、検証の為にデータリンク設定にIPアドレスを使用したのですが、問題はなくAccessデータリンクでは今回の様な症状は発生しませんでした。

その他のパターンも少し解説しましょう。

解決方法2(ショートカットでアクセスした場合)

この作業はウイルス感染のリスクがあります。信頼できるファイルのみで行いましょう!

※IPアドレスを使用せずにショートカットを作成した場合は今回の症状はでません。

今回はスポットで「ファイル名を指定して実行」から他のパソコンにあるファイルを開いていますが、日常的に使用している場合はネットワークでアクセスしExcel等のファイルからショートカットを作成してクライアントから使用している事もあるでしょう。

そのような場合でも共有名を使用する事で解消されます。

今回使用しているのはExcelです。

ショートカットの場合はショートカットを右クリック→「プロパティ」→「ショートカット」タブのリンク先を共有名に変更します。

これを

このように

共有名は上の章「ファイル名を指定して実行でアクセスした場合」と同じ方法で調べる事ができますが、コピペするのは共有設定しているフォルダ(今回はshareフォルダ)までです。ショートカットの場合は最後の「¥」以降のファイル名(保険件数印刷加工用)は消さないでください。

フォルダの場合

どちらかと言えば個別のファイルからショートカットを作成して共有しているよりも共有設定したフォルダの中のファイルをネットワークからアクセスしてフォルダのショートカットを作成したもので共有している方が多いと思います。

共有設定しているフォルダのショートカットを使用している場合ですが、これも同じ方法で解消されます。この場合はクライアントにあるフォルダのショートカットからプロパティ→ショートカットタブ→リンク先のIPアドレスを共有名に変更します。

フォルダの場合のネットワークパス書き換えはファイルのようにファイル名を残す必要はなく、全て書き換えでOKです。

解決方法3(ウェブサイトやメールで取得した場合)

この作業はウイルス感染のリスクがあります。信頼できるファイルのみで行いましょう!

マクロ付Officeファイルをウェブサイトからのダウンロードやメールで添付して送信された場合を説明します。

取得したファイルのプロパティを開き「全般」タブ→下部のセキュリティの右「許可する」のチェックを入れてOKして下さい。

あとがき

今回は大まかな3つのパターンについて解説しました。

  • ファイル名を指定して実行でアクセスした場合
  • ショートカットでアクセスした場合
  • ウェブサイトやメールで取得した場合

1と2は共通してIPアドレスを使用せずに共有名に変更する事でマクロは有効になります。3についても特に難しい内容ではありませんから問題はないでしょう。

その他のパターンについては機会がありましたら記事にします。(NAS等)

そして最後にくどいようですが、くれぐれも信頼できるファイルで実行するようにしてください。Microsoftも今回のような機能を追加したと言う事は感染が止まらない事の裏付だと思います。

どうかよろしくお願いします。

ご注意

記事内容や作業についての詳細を教えてほしい等のお問い合わせや受付はしておりません。
そのような場合はサポートをご依頼下さい。

またこの記事を参考に作業される場合は自己責任でお願いします。作業された場合での損害や障害が発生しても当店は一切責任は負いませんのでご了承下さい。

この記事の内容は投稿日時点での内容です。時期によっては仕様などの変更により、この記事のとおりではない場合もございます。