2009-09-03 22 views
1

私たちのプロジェクトでは、Excelテンプレート(.xlt)とアドインファイル(.xla)があります。これらのファイルは、データビューの作成に使用されます。 Dataviewは一種のレポートにすぎません。 xlaには、データビューとその内容を作成、削除、管理するためのコントロールを作成するためのコードが含まれています。これらのコントロールは、データビューを作成するためにVC++で作成されたOCXコントロールです。アドインコードとテンプレートファイルは別々に用意されています。デジタル署名for Excelマクロ

xltとxlaは、コードが改ざん防止のためにデジタル署名されています。デジタル署名が絵になるまで、すべてがうまくいきました。データビューは、テンプレートファイル(.xlt)を開き、ファイルを.xls拡張子で保存し、デジタル署名されたxltおよびxlaファイルを変更しないで作成されます。これを保存しようとすると、「署名したプロジェクトを修正しようとしていますが、プロジェクトに署名するための正しいキーがありません....」というメッセージが表示されます。変更を保存して署名を破棄署名は、生成された新しいファイルに対してのみ失われます。署名はxltとxlaでは同じです。

また、Excelのセルを手動で編集して保存しようとしましたが、上記のメッセージは表示されません。 OCXコントロールを使用してdataviewを作成し、保存すると、上記のメッセージがポップアップ表示されます。

答えて

0

あなたは何を保護しようとしていますか?ワークブック/テンプレート全体に署名したのですか?コードのみに署名しましたか?

.xlsは.xltのコピーであるため、テンプレートの署名もxlsにコピーされます。アイデア:

  1. テンプレート内のコードにのみ署名を試みてください。 IDEで、ツール - >デジタル署名(Excel 2002/2003)を使用します。
  2. テンプレートからすべてのコードを削除してアドインに入れます
  3. これが難しい場合は、コードのみで2番目のアドインを作成しますテンプレートから
0

私も同様の問題がありました。私は、マクロがワークブックをワークブックに挿入したり削除したりするときにのみ起こっていることを知りました。各ワークシートにはそのワークシートに固有のマクロがあるため、ワークシートの追加または削除によってマクロソースコードが効果的に変更されることが分かります。私を取得するためのターボ法律でキースSurvellへ

おかげで、この問題に正しい方向に指摘:私はこの問題を説明する権威マイクロソフトのソースを見つけることができませんでした

http://help.turbolaw.com/entries/362246-warning-message-you-have-modified-a-signed-project-you-do-not-have-the-right-key-to-sign-this-projec

関連する問題