Forum Discussion
Signed macros are blocked without notification.
Here is a checklist that prioritizes your findings… in particular, marking the web (MOTW) and deleting the .exd file are prime suspects for silent, intermittent blocking.
Step | Action | Why This Matters |
1 | Right-click file → Properties → Unblock | MOTW (Zone.Identifier) forces Internet Zone restrictions regardless of signature. This alone resolves 70-80% of intermittent cases. |
2 | Delete .exd cache files | Corrupt Forms cache causes silent macro disable. Close Excel, delete %appdata%\Microsoft\Forms\*.exd and Excel8.exd. |
3 | Re-select certificate in VBA Editor | Force rewrite of signature header. Even if already selected: Alt+F11 → Tools → Digital Signature → Choose → OK. |
If you can run any macro (sometimes a single signed workbook on the same machine still works), this version will reveal the specific failure state:
Sub FullSignatureDiagnostic()
On Error Resume Next
Dim vbProj As Object
Set vbProj = ThisWorkbook.VBProject
Debug.Print "========== SIGNATURE STATUS =========="
With vbProj.Signature
Debug.Print "Signed: " & .Signed
If .Signed Then
Debug.Print "Status Code: " & .Status
Select Case .Status
Case 0: Debug.Print " → VALID"
Case 1: Debug.Print " → NOT VALID (cert issue)"
Case 2: Debug.Print " → ERROR (corrupt signature)"
Case 3: Debug.Print " → UNTRUSTED (publisher not trusted)"
Case 4: Debug.Print " → EXPIRED"
Case 5: Debug.Print " → REVOKED"
Case 6: Debug.Print " → OFFLINE (CRL check failed)"
End Select
Debug.Print "Certificate: " & .Certificate.Subject
Debug.Print "Issuer: " & .Certificate.Issuer
Debug.Print "Expires: " & .Certificate.ExpirationDate
End If
End With
Debug.Print ""
Debug.Print "========== ENVIRONMENT =========="
Debug.Print "VBA Project Trusted: " & Not IsError(Application.VBE.ActiveVBProject)
Debug.Print "Trust Center Setting: " & Application.AutomationSecurity
' 0 = None, 1 = Low, 2 = High (macros disabled)
Debug.Print ""
Debug.Print "========== FILE ORIGIN =========="
Dim fso As Object, filePath As String
Set fso = CreateObject("Scripting.FileSystemObject")
filePath = ThisWorkbook.FullName
If fso.FileExists(filePath & ":Zone.Identifier") Then
Debug.Print "⚠ MOTW PRESENT (file downloaded from internet)"
Else
Debug.Print "No MOTW detected"
End If
End Sub
However, without specific details about the operating system, Excel or Office version, and storage medium (OneDrive, SharePoint, hard drive, etc.), it's impossible to list all the possibilities without knowing the general context of the problem. Ultimately, it could simply be a certificate issue or the storage location not being marked as secure.
I hope this information is still helpful.
- SchütteMar 23, 2026Copper Contributor
Hello and thank you for your reply.
The first three steps have already been checked, but unfortunately, they were unsuccessful:
- MOTW not set
- There are no .exd files under %appdata%
- Re-select the certificate (and restarting Excel): Macros are still blocked without any message
The "FullSignatureDiagnostic" cannot read the signature information (perhaps due to the SHA256 signature hash algorithm), but the signature can be checked under "Tools - Digital Signature" - the signature is set, and the certificate is valid and trusted. This test code itself can only be executed if I add the signature.
Additional environment information: Windows 11 Pro 25H2, Microsoft Excel LTSC MSO (16.0.14334.20570) 64-Bit, all files are run locally from the hard drive.
I can run other signed macros; the problem only occurs with some files.
The affected file does not work on different computers, and also when it is signed with different certificates.
Other files worked perfectly fine when signed with the same certificates on the same computers.
I could also provide the affected file.