Che cos'è il formato di file XLSM?
.xlsm è un documento di foglio di calcolo comunemente usato creato con Excel 2007 o versioni successive. I file .xlsm memorizzano i dati in celle organizzate in righe e colonne. Il formato si basa sullo standard Office Open XML e utilizza la compressione ZIP, rendendolo strutturalmente simile a un file .xlsx.
.xlsm e .xlsx sono formati di fogli di calcolo quasi identici, con la differenza fondamentale che .xlsm contiene macro scritte in Visual Basic for Applications (VBA). Una macro è una funzione definita dall'utente che può essere utilizzata per automatizzare attività ripetitive, manipolare dati o pilotare altre applicazioni Office. Le macro sono disabilitate in Excel per impostazione predefinita per motivi di sicurezza, poiché sono suscettibili di essere utilizzate per la distribuzione di codice dannoso. Per utilizzare le macro, il documento del foglio di calcolo deve essere salvato come file .xlsm; il salvataggio come .xlsx rimuove silenziosamente il progetto VBA.
Internamente, il progetto VBA è memorizzato come una parte binaria xl/vbaProject.bin all'interno del pacchetto ZIP. Il file [Content_Types].xml del pacchetto dichiara il tipo di contenuto macroEnabled.12, che è ciò che distingue .xlsm da .xlsx a livello di formato - entrambi condividono gli stessi magic bytes PK. Un formato correlato è .xltm, la variante del modello Excel con attivazione macro, e .xlsb è l'equivalente binario che supporta anch'esso le macro.
Sicurezza e incolumità
RISCHIO: HIGHXLSM è il membro ad alto rischio della famiglia Excel proprio perché PUÒ eseguire codice: le sue macro VBA sono un classico vettore di malware. Lo schema di attacco è un .xlsm inviato via e-mail che spinge a cliccare su «Abilita contenuto/macro», dopodiché il VBA scarica o esegue un payload. Difese: Microsoft blocca le macro per impostazione predefinita nei file provenienti da Internet (Mark of the Web) e apre i file non attendibili in Visualizzazione protetta - lasciali entrambi attivi. Abilita le macro solo nei file che ti aspetti specificamente da un mittente fidato. Se hai bisogno solo dei dati e non dell'automazione, aprilo in Google Sheets / Excel per il web (che non eseguono VBA) o salvalo come .xlsx per rimuovere il codice. Tratta qualsiasi richiesta non sollecitata di «abilitare le macro» come ostile.
Dettagli del formato
in sintesiProgrammi che aprono file XLSM
Dettagli tecnici
specifiche approfondite| Tipo MIME | application/vnd.ms-excel.sheet.macroEnabled.12 |
| Formato contenitore | Pacchetto Office Open XML (OPC) basato su ZIP |
| Magic bytes | 50 4B 03 04 («PK» - intestazione file locale ZIP all'offset 0; identico a livello di byte a .xlsx, si distingue solo per il contenuto interno) |
| Parte del progetto VBA | xl/vbaProject.bin - Compound File Binary (CFB) incorporato all'interno del pacchetto ZIP |
| Linguaggio macro | Visual Basic for Applications (VBA) |
| Identificatore Content-type | macroEnabled.12, dichiarato in [Content_Types].xml; questo è ciò che distingue formalmente .xlsm da .xlsx |
| Sicurezza macro predefinita | Macro bloccate all'apertura; l'esecuzione richiede la conferma dell'utente tramite prompt o una posizione attendibile configurata |
| Firma del codice VBA | Il progetto VBA può essere firmato con un certificato di firma del codice per stabilire la fiducia nell'editore e sopprimere i prompt |
| Crittografia | Crittografia password AES-256 tramite protezione Office Open XML (disponibile da Excel 2013 in poi) |
| Dimensione massima foglio | 1.048.576 righe × 16.384 colonne per foglio |
| Controparte modello | .xltm - il formato modello di cartella di lavoro con attivazione macro; stessa struttura interna, diverso ruolo dell'estensione |
| Regola di estensione forzata | Excel rifiuta di salvare una cartella di lavoro contenente VBA come .xlsx; all'utente viene chiesto di salvarla come .xlsm |
| Limitazione web e mobile | Le macro VBA non vengono eseguite in Excel per il web o Excel su dispositivi mobili; il contenuto delle macro viene preservato ma rimane inattivo |
| Supporto VBA di terze parti | LibreOffice Calc apre .xlsm con compatibilità VBA parziale; le macro complesse o le chiamate al modello a oggetti di Excel potrebbero comportarsi diversamente |
| Rilasciato | 2007 (Excel 2007); the macro-enabled variant of the ECMA-376 / ISO-IEC 29500 format |
| Standard aperto | Sì · royalty-free |
| Specifica | learn.microsoft.com |
Conversioni XLSM
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file XLSM.