View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
JLGWhiz JLGWhiz is offline
external usenet poster
 
Posts: 3,986
Default Programmatically signing Excel VBA Macro

This is from the VBA help file. However, it requires that a digital
signature certificate be in existence.

Example
The following example prompts the user to select a digital signature with
which to sign the active document in Microsoft Word. To use this example,
open a document in Word and pass this function the name of a certificate
issuer and the name of a certificate signer that match the Issued By and
Issued To fields of a digital certificate in the Digital Certificates dialog
box. This example will test to make sure that the digital signature that the
user selects meets certain criteria, such as not having expired, before the
new signature is committed to the disk.

Function AddSignature(ByVal strIssuer As String, _
strSigner As String) As Boolean

On Error GoTo Error_Handler

Dim sig As Signature

'Display the dialog box that lets the
'user select a digital signature.
'If the user selects a signature, then
'it is added to the Signatures
'collection. If the user doesn't, then
'an error is returned.
Set sig = ActiveDocument.Signatures.Add

'Test several properties before commiting the Signature object to disk.
If sig.Issuer = strIssuer And _
sig.Signer = strSigner And _
sig.IsCertificateExpired = False And _
sig.IsCertificateRevoked = False And _
sig.IsValid = True Then

MsgBox "Signed"
AddSignature = True
'Otherwise, remove the Signature object from the SignatureSet collection.
Else
sig.Delete
MsgBox "Not signed"
AddSignature = False
End If

'Commit all signatures in the SignatureSet collection to the disk.
ActiveDocument.Signatures.Commit

Exit Function
Error_Handler:
AddSignature = False
MsgBox "Action cancelled."
End Function



"bow" wrote:

Hi,
We want to sign a bunch of files with excel macros
programmatically.
Anyone knows of C#.Net or VB.Net solution?
Fileformat is excel 2007 (Open XML).

Thanks,
Mike