Vérification signature électronique PDF
Bonjour à tous,
Je bloque sur un macro, j'aimerai vérifier que l'opérateur à bien signé numériquement un PDF. J'ai testé ce code mais sans succès pour l'instant. J'avais déjà passé des formulaires en lecture seule via ".ReadOnly" en VBA, je me suis donc dit que je pouvais tester la condition du ReadOnly étant donné qu'après signature c'est censé être True. Mais cela me donne une erreur 438: Propriété ou méthode non gérée par cet objet.
Signature:
Document1 = ThisWorkbook.Path & "\" & M1_AR & " - Revue de contrat.pdf"
Set AVDoc = CreateObject("AcroExch.AVDoc")
AVDoc.Open Document1, ""
Set PDDoc1 = AVDoc.GetPDDoc
MsgBox "Veuillez signer numériquement le fichier PDF Puis cliquer sur OK"
Set JSO = PDDoc1.GetJSObject
Set x = JSO.getField("Signature1")
If x.ReadOnly = False Then MsgBox "Faux": GoTo Signature:Auriez-vous une idée pour vérifier que le doc a bien été signé ?
Merci.
Bonjour,
A tester :
Signature:
Document1 = ThisWorkbook.Path & "\" & M1_AR & " - Revue de contrat.pdf"
Set AVDoc = CreateObject("AcroExch.AVDoc")
AVDoc.Open Document1, ""
Set PDDoc1 = AVDoc.GetPDDoc
MsgBox "Veuillez signer numériquement le fichier PDF Puis cliquer sur OK"
Set JSO = PDDoc1.GetJSObject
Set SigField = JSO.getField("Signature1")
SigState = SigField.signatureValidate
If SigState <> 0 Then
MsgBox "Faux"
GoTo Signature
End IfBonjour Abderrahmane et merci pour ton aide.
J'ai testé, En mettant SigState en Object, j'ai une erreur 91 Variable objet ou variable de bloc With non définie.
En le passant en Variant, le programme se termine alors que le PDF n'est pas signé.
C'est good.
J'ai passé la variable en Integer et corrigé le <> 0 par = 0 car si c'est nul c'est que ce n'est pas signé.
Et cela fonctionne nickel. Un grand merci toi