Forum Discussion

Schütte's avatar
Schütte
Copper Contributor
Mar 20, 2026

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

  • NikolinoDE's avatar
    NikolinoDE
    Platinum 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 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ütte's avatar
      Schütte
      Copper 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.