Forum Discussion
Signed macros are blocked without notification.
Following problem:
if the security policy "Disable all except digitally signed macros" is enabled in Excel, signed macros usually work, but sometimes they are simply disabled without any message and cannot be executed, even though the signature is valid.
Have already tried the following: re-inserting the signature, recreating and recompiling the macros, saving the file in a different format – all without success. The signature in the macro is valid, but Excel blocks execution without any message.
How can this problem be solved? Can i attach an affected file hier?
2 Replies
- NikolinoDEPlatinum Contributor
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 SubHowever, 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ütteCopper 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.