I when through something like that some time ago.
You can see my question here .
, , , InkPicture .
UserForm ( , ) UserForm Signature_pad, - Private Sub Use_Click().

Userform:
Private Sub Use_Click()
Dim objInk As MSINKAUTLib.InkPicture
Dim bytArr() As Byte
Dim File1 As String
FilePath = Environ$("temp") & "\" & "Signature.png"
Set objInk = Me.SignPicture
If objInk.Ink.Strokes.Count > 0 Then
bytArr = objInk.Ink.Save(2)
Open FilePath For Binary As
Put
Close
End If
Signature.File = FilePath
Unload Me
End Sub
Private Sub Cancel_Click()
End
End Sub
Private Sub ClearPad_Click()
Me.SignPicture.Ink.DeleteStrokes
Me.Repaint
End Sub
Main sub ( Signature), , Sub button Sub.
'public temp file path
Public File
Sub collect_signature()
'Dim and call userform
Dim myUserForm As Signature_pad
Set myUserForm = New Signature_pad
myUserForm.Show
Set myUserForm = Nothing
'insert image/signature from temp file into application active sheet
Set SignatureImage = Application.ActiveSheet.Shapes.AddPicture(File, False, True, 1, 1, 1, 1)
'scale image/signature
SignatureImage.ScaleHeight 1, True
SignatureImage.ScaleWidth 1, True
'image/signature position
SignatureImage.Top = Range("A1").Top
SignatureImage.Left = Range("A1").Left
'delete temp file
Kill File
End Sub
Userform Name, Buttons Name , buttons.