3

プログラムで Excel シートの VBA マクロからデジタル署名を削除する方法はありますか?

つまり、VBA エディターに入り、[ツール] メニュー -> [デジタル署名] に移動して [削除] をクリックするのと同じコードです。

4

1 に答える 1

2

興味深い質問です。これは、セキュリティ上の理由から、意図的に Excel オブジェクト モデルの一部ではありません。

証明書ストアから証明書を削除することができます。これには Win32 api 呼び出しが必要です (これは VB6 または VBA から行うことができますが、これを行うとプロジェクトへの正確な影響はわかりません...証明書は確実に無効になりますが、無効になるかどうかはわかりません)また、ストアから証明書を削除したくない場合もあります (別の用途に使用する可能性があるため)。

証明書ストアを表示するには、実行プロンプト でcertmgr.mscと入力します。

とにかく、証明書をプログラムで削除する方法に関するリンク。
信頼されたルート証明書をストアから削除する方法を示す KB 記事。

要件:
1. capicom dll を取得するには、適切なプラットフォーム用の Windows SDK をダウンロードする必要があります。+ regsvr32 2. 削除する証明書から公開キーを抽出する必要があります。
3. 最初に重要でないワークブックでテストします。この方法が (証明書の無効化を除いて) ワークブックの破損を引き起こすかどうかはわかりません。うまくいけば、誰かがこれよりも良い提案をしています。

于 2011-01-20T23:48:23.560 に答える