Word 2003 および/または Word 2007 ドキュメントで VBA プロジェクトのコード署名を自動化する方法はありますか?
自動化とは、コマンド ライン ユーティリティまたは Word VBA 自動化によるものですか?
動機: 自動化された毎日のビルドおよび配布サイクルの一部として、いくつかの Word テンプレートにコード署名したいと考えています。現時点では、Word で各ドキュメントを開いて辞任することにより、これを手動で行う必要があります。
ありがとう、マルコム
私はこれを行う方法を見たことがありません。何年も前にテンプレートを自動ビルドしましたが、最後に「今すぐテンプレートに署名する必要があります」というメッセージ ボックスが表示され、VBA が開かれました。私はあなたの痛みを感じると言っているだけだと思います。
これは一見の価値があるかもしれません: http://winbatch.com/
これを行う自動化された方法があるとは思えません。コード署名のVBA プロジェクト署名のセキュリティが無効になるからです。
2 つのメッセージ ダイジェストが比較され、ファイルの一部が変更または破損されている場合、ダイジェストは一致せず、ファイルの内容は信頼できません。ファイルがどのように変更されたか (破損、マクロ ウイルス、アドインまたは Office ソリューションによるプログラムの変更など) に関係なく、検証プロセスは失敗します。ファイルが有効な証明書で署名されていない場合も、検証プロセスは失敗します。つまり、証明書の有効期限が切れているか、偽造、改ざん、または破損していた場合です。別のユーザーが VBA プロジェクトを変更すると、Office 2000 アプリケーションは現在の署名を削除し、VBA プロジェクトに再署名するようユーザーに促します。ユーザーが VBA プロジェクトに署名していないか、別の証明書で署名している場合、ファイルは検証プロセスに失敗する可能性があります。
http://msdn.microsoft.com/en-us/library/aa190113(office.10).aspxから挿入
コード署名には、開発者がソース コードをコンパイルする必要があるという事実において、追加レベルのセキュリティがあります。マクロはコンパイルされず、テキストとして配布できます。したがって、マクロ署名を自動化すると、大きなセキュリティ ホールが発生します。マクロを手動で署名することは、アドレス帳へのプログラムによるアクセスを許可するようにユーザーに求める Outlook に似ています。