Excel2021を使い始めて、共有フォルダにあるVBAコードが実行エラーになったら?

はじめに

Excel2019までは共有フォルダにあるVBAファイルは、
トラストセンターでマクロを許可するだけで実行できました。
しかし、Excel2021からはこの方法だけでは

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

というエラーが発生することがあります。
この問題を解決するための手順を以下にまとめました。

手順

1. 共有フォルダのIPアドレスを「信頼済みサイト」に追加する

  1. Windowsキー + R を押して「ファイル名を指定して実行」を開き、inetcpl.cpl と入力して「OK」をクリック。
  2. インターネットのプロパティウィンドウで「セキュリティ」タブをクリック。
  3. 「信頼済みサイト」をクリックし、「サイト(S)」をクリック。
  4. 共有フォルダのIPアドレスを「file://192.***.*.***」の形式で入力し、「追加」をクリック。
  5. 追加したサーバーが信頼済みサイトに含まれていることを確認。

2. エクセルのトラストセンターで[信頼できる場所]に共有フォルダのパスを追加する

  1. エクセルを開き、「ファイル」をクリック。
  2. 「その他」→「オプション」をクリック。
  3. 「Excelのオプション」ウィンドウで「トラストセンター」をクリック。
  4. 「トラストセンターの設定(T)」をクリック。
  5. [信頼できる場所]→[新しい場所の追加(A)]をクリック。
  6. 信頼できる場所にフォルダを選択し、OKをクリック。
    ※共有フォルダの場所はサーバー名で指定してください。IPアドレスだとエラーが出ます。
  7. [サブフォルダーも信頼する]にチェックをつけてOKをクリック。
  8. [信頼できる場所]に指定したフォルダーが表示されていることを確認しOKをクリック。

3. 自己署名証明書を作成する

  1. Windowsキー + R を押して「ファイル名を指定して実行」を開き、selfcert.ext と入力して「OK」をクリック。
    • もしファイルが見つからない場合は、以下のパスを確認:
      • C:\Program Files\Microsoft Office\root\Office16\SELFCERT.EXE
        ※私の環境だとOffice16ですが、ご自身のバージョンに合わせて読み替えてください。
  2. selfcert.ext を実行し、手順に従って自己署名証明書を作成。

4. 作成した自己署名証明書をインポートする

  1. Windowsキー + R を押して「certmgr.msc」と入力し、証明書マネージャを開く。
  2. 左ペインで「信頼されたルート証明機関」→「証明書」を選択し、インポートした証明書が存在するか確認。
  3. 「すべてのタスク」→「インポート」を選択してエクスポートした証明書をインポート。
  4. 左ペインで「信頼された発行元」に作成した証明書をインポート。
  5. Excelの「ファイル」→「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」→「信頼できる発行元」を確認。
  6. 表示されていなければ次へ進む。

5. インポートだけでは証明書を認識しない場合、証明書をエクスポートする

  1. 「個人」→「証明書」から自己署名証明書をエクスポート(秘密キーはエクスポートしない)。

6. Windows PowerShellで証明書を認識させる

  1. Windows PowerShellを管理者権限で起動。
  2. 以下のスクリプトを実行:
$certPath = "C:\Windows\System32\VBA自己署名証明書.cer"
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import($certPath)
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store "TrustedPublisher", "LocalMachine"
$store.Open("ReadWrite")
$store.Add($cert)
$store.Close(
※自己署名証明書の名前(=VBA自己署名証明書)はご自身で付けた名前に変えてください。

まとめ

上記の手順に従うことで、Excel2021における共有フォルダのVBA実行エラーを解決できます。特に、自己署名証明書の作成とインポート、PowerShellでの認識が重要なポイントです。これで、共有フォルダにあるVBAファイルを複数人で利用することが可能になります。

個人情報規約

1. 収集する情報

当LPでは、以下の目的で利用者の個人情報を収集することがあります。

  • お名前
  • メールアドレス
  • 住所
  • 電話番号
  • その他特定の個人を識別する情報

2. 利用目的

収集した個人情報は、以下の目的で利用されます。

  • サービス提供のため
  • お問い合わせへの回答のため
  • プロモーションや新着情報のお知らせのため
  • 利用者とのコミュニケーションのため

3. 情報の共有と第三者への提供

当LPは、法令に基づく場合や利用者の同意が得られた場合を除き、収集した個人情報を第三者と共有または提供することはありません。

4. 情報の安全性

当LPは、適切な安全対策を講じ、利用者の個人情報を適切に保護します。

5. Cookieの使用

当LPでは、Cookieを使用して利用者のブラウジング情報を収集することがあります。これは、サービス向上やターゲット広告の配信のためです。

6. 利用者の権利

利用者は、自身の個人情報について以下の権利を行使することができます。

  • 情報の確認・訂正・削除
  • 情報の利用停止・開示の拒否

7. 規約の変更

当LPは、必要に応じて個人情報規約を変更することがあります。変更がある場合は、適切な方法で通知します。

8. お問い合わせ先

個人情報に関するお問い合わせは、以下の連絡先までご連絡ください。

運営者:Mityu-ka

メールアドレス:mitsunaka007@gmail.com