Errore GetCustomUI in Excel: come risolvere il messaggio “The call to GetCustomUI() for RibbonID Microsoft.Excel.Workbook failed”

All’avvio di Excel compare l’avviso «The call to GetCustomUI() for RibbonID “Microsoft.Excel.Workbook” failed»? In questa guida trovi cause, diagnosi e soluzioni pratiche per eliminare l’errore in modo sicuro, senza reinstallare Office e senza perdere impostazioni o regole di formattazione.

Indice

Cos’è l’errore «The call to GetCustomUI() for RibbonID “Microsoft.Excel.Workbook” failed»

Il messaggio indica che Excel ha tentato di caricare una interfaccia personalizzata della barra multifunzione (Ribbon), definita via RibbonX in un componente aggiuntivo (COM o VBA), ma la chiamata al metodo GetCustomUI() è fallita. In parole semplici: un add‑in sta fornendo a Excel un file customUI.xml non valido o non più compatibile con la tua versione di Office.

Quando si manifesta

  • All’apertura di Excel, anche su un foglio vuoto.
  • All’apertura di file che caricano automaticamente add‑in (.xlam, .xla, modelli .xltm).
  • Dopo aggiornamenti di Office o della suite Microsoft 365, quando vecchi add‑in non sono più allineati.

Perché accade

Gli add‑in estendono il Ribbon definendo controlli e callback nel file customUI.xml. Se il file contiene riferimenti non più supportati (es. idMso obsoleti), errori di sintassi, o callback mancanti, Excel non riesce a costruire la UI e genera l’avviso. Anche un add‑in registrato male nel sistema (COM rotto, DLL mancante, firma non valida) può provocare la stessa anomalia.

Soluzione rapida (checklist operativa)

  1. Avvia Excel in Modalità provvisoria (Safe Mode): premi Win+R, digita excel /safe e conferma. Se l’errore scompare, la causa è un add‑in.
  2. Disattiva tutti i COM Add‑ins: File → Opzioni → Componenti aggiuntivi → Gestisci: Componenti aggiuntivi COM → Vai… e togli la spunta a tutto.
  3. Riattiva uno alla volta, chiudendo e riaprendo Excel ogni volta. Quando l’errore si ripresenta, l’ultimo add‑in riattivato è il colpevole.
  4. Aggiorna o rimuovi l’add‑in difettoso. Se indispensabile, contatta il fornitore per una versione compatibile; altrimenti lascialo disabilitato o disinstallalo.

Nota importante: disattivare gli add‑in non altera i tuoi file. Le regole di Formattazione condizionale già salvate restano operative; l’intervento riguarda solo la personalizzazione del Ribbon fornita dagli add‑in.

Tabella di diagnosi rapida

SintomoProbabile causaVerifica rapidaAzione consigliata
Errore all’avvio su libro vuotoCOM Add‑in incompatibileAvvia excel /safeDisabilita/riattiva gli add‑in fino a isolare il colpevole
Errore solo aprendo file specificiFile .xlam legato al fileApri in Safe Mode e controlla Componenti aggiuntiviRimuovi/aggiorna il .xlam difettoso
Errore dopo update di OfficeRibbonX non compatibile con la nuova buildVerifica versione Office e add‑inAggiorna add‑in o ripristina build precedente
Errore anche in Safe ModeCorruzione profilo/registrazioni COMNuovo profilo Windows o riparazione OfficeRipara Office, re‑registra COM, controlla profilo

Procedura dettagliata passo‑passo

Avviare Excel in Safe Mode

Hai due opzioni equivalenti:

  • Esegui: Win+Rexcel /safeInvio.
  • Tasto Ctrl: tieni premuto Ctrl mentre avvii Excel e conferma la richiesta di avvio in Modalità provvisoria.

In Safe Mode Excel non carica componenti aggiuntivi di terze parti. Se l’avviso sparisce, la causa è confermata: un add‑in.

Disattivare tutti i COM Add‑ins

  1. Apri Excel normalmente.
  2. Vai su File → Opzioni → Componenti aggiuntivi.
  3. In basso, nel menu Gestisci, seleziona Componenti aggiuntivi COM e fai clic su Vai….
  4. Deseleziona tutto e conferma.
  5. Chiudi e riapri Excel: l’errore dovrebbe scomparire.

Riattivare uno alla volta (isolamento del colpevole)

Rientra in Componenti aggiuntivi COM e riattiva un solo add‑in per volta, quindi riavvia Excel. Appena l’errore riappare, hai identificato l’add‑in problematico. Annota nome e versione: ti serviranno per aggiornare o contattare il fornitore.

Rimuovere o aggiornare l’add‑in incriminato

  • Aggiornamento: installa la release più recente e compatibile con la tua edizione (32/64 bit) e build di Microsoft 365/Office.
  • Disinstallazione: se l’add‑in ha un programma dedicato in App e funzionalità, disinstallalo; in caso contrario lascialo disabilitato in Excel.
  • Re‑registrazione COM (solo per add‑in aziendali): talvolta è sufficiente riparare il pacchetto MSI/Click‑to‑Run o ripetere la registrazione.

Indicazioni emerse da casi reali

  • “Microsoft Outlook Add‑in for Data Collection and Publishing” è un imputato frequente. La sua rimozione sia in Outlook sia in Excel elimina spesso l’avviso.
  • L’elenco dei componenti aggiuntivi installati e l’avvio in Safe Mode sono le mosse più rapide per isolare la causa.
  • Formattazione condizionale: disabilitare add‑in non la intacca; le regole nei tuoi file restano operative.

Approfondimenti e buone pratiche

  • Aggiorna Office: File → Account → Opzioni di aggiornamento. Molte incompatibilità note vengono corrette nelle build più recenti.
  • Controlla XLAM collegati: se l’errore riguarda solo alcuni file, verifica se caricano componenti .xlam. Un RibbonX non valido all’interno dell’add‑in causa l’avviso.
  • Convalida RibbonX: gli sviluppatori dovrebbero validare customUI.xml con un editor RibbonX dedicato e usare solo idMso presenti nella release corrente.
  • Coerenza bitness: un add‑in compilato solo a 32 bit non funzionerà in Excel a 64 bit (e viceversa) se non prevede Any CPU o build dedicate.
  • Non confondere con Office Web Add‑ins: gli add‑in JavaScript (Office.js) non usano GetCustomUI(). Qui parliamo di add‑in COM/VBA che estendono il Ribbon via XML.

Verifiche supplementari (se l’errore resiste)

Ripristina le personalizzazioni del Ribbon dell’utente

  1. Vai su File → Opzioni → Personalizzazione barra multifunzione.
  2. Fai clic su RipristinaRipristina tutte le personalizzazioni.

Questo rimuove solo le personalizzazioni locali dell’utente (non gli add‑in). Utile se l’errore si aggancia a una personalizzazione obsoleta.

Controlla le cartelle XLSTART

Excel carica automaticamente file presenti nelle cartelle di avvio:

  • %AppData%\Microsoft\Excel\XLSTART (per‑utente)
  • %ProgramFiles%\Microsoft Office\root\OfficeXX\XLSTART (per‑macchina; il percorso può variare)

Sposta temporaneamente i file da queste cartelle e verifica se l’errore sparisce.

Prova con un nuovo profilo Windows

Se l’errore compare anche in Safe Mode e dopo aver disabilitato gli add‑in, crea un nuovo profilo utente Windows e prova da lì. Se il problema scompare, la causa è legata al profilo (cache, chiavi di registro dell’utente, personalizzazioni).

Riparazione di Office

Da App e funzionalità → Microsoft 365/Office → ModificaRiparazione online. Questo ripristina componenti danneggiati che possono impedire la corretta registrazione degli add‑in COM.

Per amministratori IT (ambienti gestiti)

  • GPO/Intune: verifica criteri che forzano il caricamento di add‑in (Whitelist/Blacklist). Un criterio che obbliga un add‑in obsoleto genererà l’errore a ogni avvio.
  • Inventario add‑in: mantieni un catalogo ufficiale di add‑in compatibili per build di Office, canale (Current/Monthly Enterprise/ Semi‑Annual) e bitness.
  • Canale di aggiornamento: se un add‑in critico non è ancora compatibile, valuta il canale Semi‑Annual per guadagnare tempo sui test.

Inventariare rapidamente i COM Add‑ins (PowerShell)

Per un controllo massivo puoi enumerare gli add‑in registrati sul sistema. Esegui PowerShell come amministratore e usa lo script seguente per elencare gli add‑in COM di Excel:

# Elenco COM Add-ins di Excel per utente e macchina
$paths = @(
  "HKCU:\Software\Microsoft\Office\Excel\Addins",
  "HKLM:\Software\Microsoft\Office\Excel\Addins",
  "HKLM:\Software\WOW6432Node\Microsoft\Office\Excel\Addins"
)
$results = foreach ($p in $paths) {
  if (Test-Path $p) {
    Get-ChildItem $p | ForEach-Object {
      $props = Get-ItemProperty $_.PSPath
      [PSCustomObject]@{
        Hive       = $p
        Name       = $_.PSChildName
        Friendly   = $props.FriendlyName
        Description= $props.Description
        LoadBehavior = $props.LoadBehavior
        Manifest   = $props.Manifest
      }
    }
  }
}
$results | Sort-Object Name | Format-Table -AutoSize

Spiegazione rapida: LoadBehavior indica come l’add‑in viene caricato (2=carica su richiesta; 3=carica all’avvio). Gli add‑in con LoadBehavior=3 sono i primi candidati da ispezionare quando l’errore si presenta all’apertura di Excel.

Per sviluppatori di add‑in: cosa controllare nel RibbonX

  • Validazione XML: assicurati che customUI.xml rispetti lo schema RibbonX (customUI o customUI14 a seconda della destinazione).
  • Callback esistenti: ogni controllo che definisce onAction, getVisible, getEnabled, ecc., deve avere la relativa funzione implementata (VBA/COM) con firme corrette.
  • idMso validi: usa solo comandi integrati presenti nella versione di Office target. Un idMso rimosso/obsoleto fa fallire la costruzione del Ribbon.
  • Prestazioni: evita logica pesante nei get* (vengono invocati spesso). Callback lenti possono generare time‑out percepiti come errori di caricamento.
  • Localization: preferisci label statiche o getLabel con fallback sicuro per evitare eccezioni in culture non previste.

Esempio minimo di customUI.xml corretto

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="RibbonOnLoad">
  <ribbon>
    <tabs>
      <tab id="tabMyTools" label="Strumenti">
        <group id="grpUtil" label="Utility">
          <button id="btnHello" label="Hello" size="large" onAction="BtnHello_Click"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Checklist di qualità: convalida l’XML, verifica tutte le callback, prova su installazioni pulite 32/64 bit e su più build di Office.

Casi particolari e come risolverli

L’errore appare solo con alcuni file

Probabile: il file richiama uno specifico .xlam o un modello personale con Ribbon personalizzato. Apri il file in Safe Mode, vai su Componenti aggiuntivi e rimuovi il riferimento al componente esterno. In alternativa, apri File → Informazioni → Proprietà → Rimuovi collegamenti relativi a componenti esterni (se presenti).

Compare solo su un PC specifico

Confronta bitness (32/64 bit), build di Office e set di add‑in. Esporta l’elenco add‑in dal PC sano e confrontalo con quello difettoso (lo script PowerShell sopra aiuta). Spesso la discrepanza è un add‑in rimasto a una versione precedente.

Ambienti con Outlook e Access installati

In suite con Access/Outlook possono restare add‑in storici (“Data Collection and Publishing”, moduli per importazione da Access, publisher di moduli). Disabilitarli in entrambi i prodotti evita che Excel li riattivi tramite integrazioni condivise.

Errore immediato anche in Safe Mode

Raro ma possibile quando intervengono voci di registro corrotte o pacchetti COM registrati in modo anomalo. Esegui una Riparazione online di Office, prova un nuovo profilo Windows, quindi verifica nuovamente il caricamento degli add‑in. Se persiste, ispeziona il Visualizzatore eventi per eccezioni dei processi EXCEL.EXE durante l’inizializzazione.

Domande frequenti (FAQ)

Disattivare gli add‑in influisce sulla Formattazione condizionale?
No. Le regole sono parte del file di lavoro e restano valide. Disabiliti solo estensioni del Ribbon o funzioni extra fornite dagli add‑in.

È necessario reinstallare Office?
Quasi mai. Nella maggior parte dei casi isolare e aggiornare l’add‑in problematico risolve definitivamente.

Posso ignorare l’avviso e continuare?
Sì, Excel di solito resta utilizzabile. Tuttavia è consigliabile risolvere perché l’add‑in potrebbe interferire con altre funzionalità.

Come capisco se un add‑in è a 32 o 64 bit?
Controlla la documentazione del fornitore o le proprietà del file DLL. In ambienti a 64 bit, preferisci add‑in compilati per Any CPU o specifici x64.

Checklist finale per una correzione “pulita”

  • Avvio in Safe Mode → l’errore scompare? Sì = add‑in responsabile.
  • Disabilita tutti i COM Add‑ins → riavvio → nessun errore.
  • Riattiva uno alla volta fino a trovare il colpevole.
  • Aggiorna o rimuovi l’add‑in incriminato.
  • Facoltativo: Ripristina personalizzazioni Ribbon dell’utente.
  • Controlla XLSTART e riferimenti a .xlam se il problema è file‑specifico.
  • Applica gli aggiornamenti di Office e allinea bitness 32/64.

Riepilogo

L’avviso «The call to GetCustomUI() for RibbonID “Microsoft.Excel.Workbook” failed» segnala un conflitto tra Excel e un add‑in che fornisce un Ribbon personalizzato tramite RibbonX. Con la sequenza Safe Mode → disabilitazione add‑in → riattivazione progressiva → aggiornamento/rimozione si risolve nella grande maggioranza dei casi, senza toccare la suite o perdere impostazioni. Se l’errore persiste, verifica XLSTART, profilo utente e integrità dell’installazione di Office. Gli sviluppatori dovrebbero a loro volta validare customUI.xml, controllare i callback e usare solo idMso supportati. Con queste buone pratiche riporti Excel a un avvio pulito e affidabile.


Soluzione sintetica (quick recap)

  1. Avvia Excel in modalità provvisoria (excel /safe). Se l’errore sparisce, un add‑in è il responsabile.
  2. Disattiva tutti i COM Add‑ins: File → Opzioni → Componenti aggiuntivi → Gestisci: Componenti aggiuntivi COM → Vai… e togli la spunta a tutto.
  3. Riattiva gli add‑in uno alla volta, riavviando tra un tentativo e l’altro, finché l’errore ricompare: l’ultimo add‑in attivato è difettoso.
  4. Rimuovi o aggiorna l’add‑in incriminato (ricerca versione aggiornata o disinstallazione definitiva).

Tip pratico: se trovi “Microsoft Outlook Add‑in for Data Collection and Publishing”, prova a disabilitarlo sia in Outlook sia in Excel; spesso l’avviso scompare.


Con questi passi la maggior parte dei casi di «GetCustomUI for RibbonID Microsoft.Excel.Workbook failed» si risolve senza dover reinstallare l’intera suite Office.

Indice