¿Qué es el formato de archivo XLSM?
.xlsm es un documento de hoja de cálculo de uso común creado con Excel 2007 o posterior. Los archivos .xlsm almacenan datos en celdas organizadas en filas y columnas. El formato se basa en el estándar Office Open XML y utiliza compresión ZIP, lo que lo hace estructuralmente similar a un archivo .xlsx.
.xlsm y .xlsx son formatos de hoja de cálculo casi idénticos, con la diferencia clave de que .xlsm contiene macros escritas en Visual Basic for Applications (VBA). Una macro es una función definida por el usuario que se puede utilizar para automatizar tareas repetitivas, manipular datos o controlar otras aplicaciones de Office. Las macros están desactivadas en Excel por defecto por razones de seguridad, ya que son susceptibles de ser utilizadas para la entrega de código malicioso. Para usar macros, el documento de hoja de cálculo debe guardarse como un archivo .xlsm; guardarlo como .xlsx elimina silenciosamente el proyecto de VBA.
Internamente, el proyecto VBA se almacena como una parte binaria xl/vbaProject.bin dentro del paquete ZIP. El archivo [Content_Types].xml del paquete declara el tipo de contenido macroEnabled.12, que es lo que distingue a .xlsm de .xlsx a nivel de formato; ambos comparten los mismos magic bytes PK. Un formato relacionado es .xltm, la variante de plantilla de Excel habilitada para macros, y .xlsb es el equivalente binario que también admite macros.
Seguridad y protección
RIESGO: HIGHXLSM es el miembro de alto riesgo de la familia Excel precisamente porque PUEDE ejecutar código: sus macros VBA son un vector clásico de malware. El patrón de ataque es un .xlsm enviado por correo que le presiona para hacer clic en «Habilitar contenido/macros», tras lo cual el VBA descarga o ejecuta una carga útil. Defensas: Microsoft bloquea las macros por defecto en archivos que provienen de internet (Marca de la Web) y abre archivos no confiables en Vista protegida; mantenga ambas opciones activadas. Solo habilite macros en archivos que espere específicamente de un remitente confiable. Si solo necesita los datos y no la automatización, ábralo en Google Sheets / Excel para la web (que no ejecutan VBA) o guárdelo como .xlsx para eliminar el código. Trate cualquier solicitud no solicitada de «habilitar macros» como hostil.
Detalles del formato
en pocas palabrasProgramas que abren archivos XLSM
Detalles técnicos
especificación profunda| Tipo MIME | application/vnd.ms-excel.sheet.macroEnabled.12 |
| Formato contenedor | Paquete Office Open XML (OPC) basado en ZIP |
| Magic bytes | 50 4B 03 04 («PK» - encabezado de archivo local ZIP en el desplazamiento 0; idéntico en bytes a .xlsx, se distingue solo por el contenido interno) |
| Parte del proyecto VBA | xl/vbaProject.bin - Compound File Binary (CFB) incrustado dentro del paquete ZIP |
| Lenguaje de macros | Visual Basic for Applications (VBA) |
| Identificador de tipo de contenido | macroEnabled.12, declarado en [Content_Types].xml; esto es lo que distingue formalmente a .xlsm de .xlsx |
| Seguridad de macros por defecto | Macros bloqueadas al abrir; la ejecución requiere la confirmación del usuario mediante un aviso o una ubicación de confianza configurada |
| Firma de código VBA | El proyecto VBA puede firmarse con un certificado de firma de código para establecer la confianza del editor y suprimir los avisos |
| Cifrado | Cifrado de contraseña AES-256 mediante la protección de Office Open XML (disponible desde Excel 2013 en adelante) |
| Tamaño máximo de hoja | 1.048.576 filas × 16.384 columnas por hoja |
| Contraparte de plantilla | .xltm - el formato de plantilla de libro habilitado para macros; misma estructura interna, diferente rol de extensión |
| Regla de extensión forzada | Excel se niega a guardar un libro que contenga VBA como .xlsx; se le pide al usuario que lo guarde como .xlsm en su lugar |
| Limitación web y móvil | Las macros VBA no se ejecutan en Excel para la web ni en Excel para móviles; el contenido de la macro se preserva pero permanece inactivo |
| Soporte de VBA de terceros | LibreOffice Calc abre .xlsm con compatibilidad parcial de VBA; las macros complejas o las llamadas al modelo de objetos de Excel pueden comportarse de manera diferente |
| Lanzado | 2007 (Excel 2007); the macro-enabled variant of the ECMA-376 / ISO-IEC 29500 format |
| Estándar abierto | Sí · libre de regalías |
| Especificación | learn.microsoft.com |
Conversiones de XLSM
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos XLSM.