2011-07-20 12 views
2

に私は自動的に私の会社の経理部門のためのフォームを生成するために、Excelを使用しています。私は各フォームに、署名入りの署名者の情報(氏名、肩書き、電子メール)が記入され、署名する準備ができているExcel Signature Lineオブジェクトが必要です。使用するC#、Eメール、エクセル

はこれまでのところ、私は

xlAppが私のExcelのApplicationある
xlApp.ActiveWorkbook.Signatures.AddSignatureLine(); 

で作成された署名ラインを持っています。コードを実行すると、署名ボックスが生成されますが、署名者の名前、タイトル、およびメールアドレスを尋ねるポップアップが表示されます。私は、この情報を受け入れる署名行を作成する方法が見つからないため、手動で情報を入力すると、

SendKeys.Send(name + "{TAB}Peon{TAB}" + email + "{TAB}{TAB}{TAB}{TAB}~"); 

を手動で入力しようとしました。しかし、ポップアップウィンドウが閉じられるまでコードがハングアップし、必要な情報を入力する行には決して行きません。私はアラートやポップアップをExcelで抑制することを考えていましたが、Signature Lineオブジェクトの属性を編集する場所を見つけることはできません。私の目標を達成するためのどのような考え?あなたが助けることができる場合

ありがとう!

+0

使用しているExcelのバージョンはどれですか?上記のコードは、MSDNによると、コンパイルべきではありません。http://msdn.microsoft.com/en-us/library/microsoft.office.core.signatureset.addsignatureline.aspx – Juliusz

+0

私はそれをコンパイルしないエクセル2010を使用していて、私が説明したようにダイアログを開きます。 varSigProvパラメータは実際にはオプションであり、空白のままにするとデフォルトでMissing.Valueになります。私は、そのパラメータを提供することは私が取るべきルートかもしれないと思うが、私はどのようなオブジェクトをどのようにインスタンス化するのか分からない。私の最高の推測では、 'Microsoft.Office.Core.SignatureProvider'インタフェースを実装するいくつかのオブジェクトを使用することであるが、相互運用ライブラリーに組み込まれた1がある場合、私はそれを行うために自分自身のクラスを記述する必要があるかどうかはわかりません – Michael

答えて

0

MSDNSignatureInfoによる「デジタルまたはドキュメント内の署名を作成するために使用される情報を表します」。

私はあなたが( SignatureCommentSignatureImageSignatureTextを定義する - これらは、すべての読み取り/書き込みされている)、いくつかの設定を行うことができることを期待

前に署名を実行すると、これらは署名ユーザーは(すなわち記号)に同意することができますプリセット値になりますかない。しかし、私はこれを行う方法を発見していない。あなたは、文書/署名を変更すると、無効な署名をレンダリングと同じようにあなたは、署名した後、これらの設定を作ることができないと言うために

言うまでもなく:(。Is there a way to programmatically predefine the purpose when signing an office document?私はAddNonVisibleSignature()方法と同様の問題に取り組んで私の質問をしています)。あなたしかしSignatureSetオブジェクトを介してSignatureインタフェースを見ることにより、文書の署名の詳細を読むことができます。

Set sigs = ActiveDocument.Signatures; 

私は署名の取り扱いに関わる困難のいくつかを仮定し、それは単純ユーザーが文書に署名できるようにすることですシグネチャを安全にするために必要なアーキテクチャが原因です。

関連する問題