Excel 检查Word文档上的数字签名

Excel 检查Word文档上的数字签名,excel,vba,Excel,Vba,我有一个Excel文档,列出了必须发送给客户的每个Word文档。这些文档在发送之前必须经过数字签名,我必须检查每个文档是否都经过签名,这要感谢通过Excel文档的VBA。我找到了Signature类,由于SignatureSet,我能够拥有一个签名集。但在那之后,由于这部分代码,我只能知道有多少签名存在: Set sigs = WordDoc.Signatures MsgBox (sigs.Count) 但我想知道的是每个签字人的名字,知道谁没有在文件上签字。我看到存在SignatureInf

我有一个Excel文档,列出了必须发送给客户的每个Word文档。这些文档在发送之前必须经过数字签名,我必须检查每个文档是否都经过签名,这要感谢通过Excel文档的VBA。我找到了Signature类,由于SignatureSet,我能够拥有一个签名集。但在那之后,由于这部分代码,我只能知道有多少签名存在:

Set sigs = WordDoc.Signatures
MsgBox (sigs.Count)
但我想知道的是每个签字人的名字,知道谁没有在文件上签字。我看到存在SignatureInfo或SignatureSetup等其他类,但我不知道如何使用它们


我已经尝试过Signature类的ShowDetails方法,但这不是我需要的,因为它会在Word文档中打开一个弹出窗口。

如果有人有此问题,我会在这里发布解决方案

Sub Test()

    Dim AppWord As Word.Application
    Dim Doc As Word.Document
    Dim Info As SignatureInfo

    Set AppWord = New Word.Application
    AppWord.Visible = True

    Set Doc = AppWord.Documents.Open("C:\MonDocument.doc")

    Set Info = Doc.Signatures(1).Details

    MsgBox Info.SignatureText

End Sub

您是否尝试过excel帮助文件中的示例代码?因为其中有一个与.ShowDetails方法无关的弹出窗口(;
如果objSignature.IsSigned,则为Msgbox(文档已使用以下详细信息签名:“&objSignature.ShowDetails”),否则
在不使用Msgbox()的情况下尝试结果是一样的,我没有任何详细信息。使用MsgBox()它会显示:“该文档已使用以下详细信息签名:“仅此而已。当我尝试在Excel文件的某个范围内写入ShowDetails方法的内容时,它也不会写入任何内容。此外,无论MsgBox()如何,弹出框这个词仍然存在。我找到了它,但没有相应的vba代码。您发布的链接中的“检查数字证书”部分解释了如何“手动”做ShowDetails方法所做的。我要找的是,在没有任何弹出窗口的情况下,知道谁在文档上签名,查看文档中存在的每个签名。我非常确定签名类中的一个方法可以完成这项工作,但我不知道如何做以及必须使用哪一个。我认为我应该使用SuggestedSigner方法d(获取或设置文档的主要签名者的名称。),但我不知道如何实例化SignatureSetup对象。