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