前提
厳密に言うとプログラムとは違うと思われますがご容赦ください。
Microsoft Excel(Office365)にVBAを使ったマクロプログラムを含めて、それをWeb(社内/特定顧客)経由で配布し利用しています。
夏頃にOfficeのアップデートにより、MOTW状態のExcelブック(.xlsm)ファイルを開こうとすると、
「信頼されていない~」
という表示と共にマクロが無効化されるようになりました。
回避方法はいくつかあり、その内の「マクロに電子証明書を付与する」という対応を実施しました。
電子証明書はOpenSSLで作成し、鍵ファイルなどは作成者の端末のストア「個人」にインポート。
利用者は証明書ファイルを「信頼されたルート証明機関」にインポートするという事だったため、そのようにしたのですが、想定通りにはならずにマクロが使えない状況でした。
(トラストセンターで「証明書付きのみ許可」の設定は実施済)
実現したいこと
- ダウンロードしたExcelブック(.xlsm)のマクロを使用可能にしたい
- oneDriveに置いて共有したい為、ダウンロードしての対応は避けたい
oneDriveから該当のExcelブックを「アプリで開く」としてExcelを起動し、そのままマクロを有効にして利用したいと考えています。
(10月前半くらいまではその運用で利用できていた)
証明書のインストールやExcelの設定変更などは可能ですが、信頼済のサイトに登録したり、信頼済フォルダを追加するなどダウンロードする事を前提とした対応は避けたいと考えています。
(複数のメンバーで共有し編集している為)
そのため、ダウンロードしてプロパティからセキュリティ項目へ「許可する」とするMOTW解除の操作も採用できません。
運用の観点からVBAマクロに電子証明書を付与し、利用端末に電子証明書をインポートするのが最善と考えています。
発生している問題・エラーメッセージ
VBAマクロに証明書を付与し、利用端末にも証明書をインポートしてもマクロが利用可能になりません。
試したこと
様々なサイトを調べる限り、証明書(.crt)は「信頼されたルート証明機関」に配置すれば良い事になっていますが、そこ(~証明機関)とは別に「信頼された発行元」ストアにも証明書をインポートしてみたところ、マクロは無効化されずに利用できるようになりました。
しかし、これで何故動作するようになったのかがわかりません。
証明書の作り方、配置(インポート)の仕方、それ以外のいずれか(あるいは全部)が悪いのだろうと思うのですが、原因の特定に至っておりません。
当面は証明書を2カ所に配置した状態で運用していく予定ですが、正しい状態での運用にしたいと考えています。
補足情報(FW/ツールのバージョンなど)
Microsoft Excel(MSO) バージョン:2210 ビルド:16.0.15726.20188
OpenSSL バージョン:Light-3.0.7
Windows 10/11
回答1件
あなたの回答
tips
プレビュー