Frankly it would be better if you associated signatures with your accounts and then they are included when you create messages, however with some provisos the following should work, Change the signature as appropriate and test with a small number of messages in drafts,
Public Sub AddSignature()
'Graham Mayor - https://www.gmayor.com - Last updated - 11 Apr 2021
Dim FSO As Object, oSig As Object
Dim olItem As MailItem
Dim strPath As String
Dim strSignature As String
Const strSig As String = "Graham Mayor.htm" 'the signature to add - change as required
strPath = Environ("appdata") & "\Microsoft\Signatures\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oSig = FSO.OpenTextFile(strPath & strSig)
strSignature = oSig.ReadAll
oSig.Close
For Each olItem In Session.GetDefaultFolder(olFolderDrafts).items
If TypeName(olItem) = "MailItem" Then
With olItem
.BodyFormat = olFormatHTML
.HTMLBody = .HTMLBody & strSignature
.Display
'.Save
End With
End If
Next olItem
lbl_Exit:
Set FSO = Nothing
Set olItem = Nothing
Set oSig = Nothing
Exit Sub
End Sub