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.
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)
- Avvia Excel in Modalità provvisoria (Safe Mode): premi Win+R, digita
excel /safe
e conferma. Se l’errore scompare, la causa è un add‑in. - Disattiva tutti i COM Add‑ins: File → Opzioni → Componenti aggiuntivi → Gestisci: Componenti aggiuntivi COM → Vai… e togli la spunta a tutto.
- Riattiva uno alla volta, chiudendo e riaprendo Excel ogni volta. Quando l’errore si ripresenta, l’ultimo add‑in riattivato è il colpevole.
- 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
Sintomo | Probabile causa | Verifica rapida | Azione consigliata |
---|---|---|---|
Errore all’avvio su libro vuoto | COM Add‑in incompatibile | Avvia excel /safe | Disabilita/riattiva gli add‑in fino a isolare il colpevole |
Errore solo aprendo file specifici | File .xlam legato al file | Apri in Safe Mode e controlla Componenti aggiuntivi | Rimuovi/aggiorna il .xlam difettoso |
Errore dopo update di Office | RibbonX non compatibile con la nuova build | Verifica versione Office e add‑in | Aggiorna add‑in o ripristina build precedente |
Errore anche in Safe Mode | Corruzione profilo/registrazioni COM | Nuovo profilo Windows o riparazione Office | Ripara Office, re‑registra COM, controlla profilo |
Procedura dettagliata passo‑passo
Avviare Excel in Safe Mode
Hai due opzioni equivalenti:
- Esegui: Win+R →
excel /safe
→ Invio. - 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
- Apri Excel normalmente.
- Vai su File → Opzioni → Componenti aggiuntivi.
- In basso, nel menu Gestisci, seleziona Componenti aggiuntivi COM e fai clic su Vai….
- Deseleziona tutto e conferma.
- 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 soloidMso
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
- Vai su File → Opzioni → Personalizzazione barra multifunzione.
- Fai clic su Ripristina → Ripristina 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 → Modifica → Riparazione 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
ocustomUI14
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 ogetLabel
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)
- Avvia Excel in modalità provvisoria (
excel /safe
). Se l’errore sparisce, un add‑in è il responsabile. - Disattiva tutti i COM Add‑ins: File → Opzioni → Componenti aggiuntivi → Gestisci: Componenti aggiuntivi COM → Vai… e togli la spunta a tutto.
- Riattiva gli add‑in uno alla volta, riavviando tra un tentativo e l’altro, finché l’errore ricompare: l’ultimo add‑in attivato è difettoso.
- 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.