使用C#在Excel中使用预定的签名者,电子邮件等创build签名行

我正在使用Excel为我公司的会计部门自动生成表单。 我需要每个表单都有一个Excel签名行对象,其中包含预定的签名者信息(姓名,职务,电子邮件),并准备好签名。

到目前为止,我已经创build了签名行

xlApp.ActiveWorkbook.Signatures.AddSignatureLine(); 

其中xlApp是我的Excel应用程序。 当我运行代码时,它会生成签名框,但popup窗口询问预定的签名者的名称,标题和电子邮件。 我试过使用

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

手动input信息,因为我找不到任何方法来创build接受此信息的签名行。 然而,代码挂起,直到popup窗口closures,永远不会到填写我需要的信息的行。 我想在Excel中压制警报和popup窗口,但是我找不到在哪里编辑签名行对象的属性。 任何想法如何实现我的目标?

谢谢,如果你能帮助!

根据MSDN SignatureInfo “代表用于创build数字或文档签名的信息”。

我希望在执行签名之前可以进行一些设置(定义SignatureCommentSignatureImageSignatureText – 这些都是可读写的),这些都是签名用户可以同意(即签名)的预设值。 但我还没有发现如何做到这一点。 (我正在处理与AddNonVisibleSignature()方法类似的问题。我的问题: 是否有办法编程方式预定义的目的,当签署一个office文档? )

不用说签名您不能进行这些设置,因为您将更改文档/签名并使签名无效。 但是,您可以通过SignatureSet对象查看Signature接口来阅读文档中的签名详细信息:

  Set sigs = ActiveDocument.Signatures; 

我认为处理签名和使用户签名文件不复杂的一些困难是由于签名安全所必需的体系结构。