Vad är filformatet XLSM?
.xlsm är ett vanligt förekommande kalkylbladsdokument skapat med Excel 2007 eller senare. .xlsm-filer lagrar data i celler organiserade i rader och kolumner. Formatet är baserat på Office Open XML-standarden och använder ZIP-komprimering, vilket gör det strukturellt likt en .xlsx-fil.
.xlsm och .xlsx är nästan identiska kalkylbladsformat, med den viktiga skillnaden att .xlsm innehåller makron skrivna i Visual Basic for Applications (VBA). Ett makro är en användardefinierad funktion som kan användas för att automatisera repetitiva uppgifter, manipulera data eller styra andra Office-applikationer. Makron är inaktiverade i Excel som standard av säkerhetsskäl, eftersom makron är känsliga för att användas för leverans av skadlig kod. För att använda makron måste kalkylbladsdokumentet sparas som en .xlsm-fil; om du sparar som .xlsx tas VBA-projektet bort utan förvarning.
Internt lagras VBA-projektet som en binär xl/vbaProject.bin-del inuti ZIP-paketet. Paketets [Content_Types].xml deklarerar innehållstypen macroEnabled.12, vilket är det som skiljer .xlsm från .xlsx på formatnivå - båda delar samma PK magic bytes. Ett relaterat format är .xltm, den makroaktiverade Excel-mallvarianten, och .xlsb är den binära motsvarigheten som också stöder makron.
Säkerhet & trygghet
RISK: HIGHXLSM är den högriskmedlemmen i Excel-familjen just för att den KAN köra kod: dess VBA-makron är en klassisk vektor för skadlig kod. Attackmönstret är en e-postad .xlsm som pressar dig att klicka på «Aktivera innehåll/makron», varefter VBA laddar ner eller kör en nyttolast. Försvar: Microsoft blockerar makron som standard i filer som kommit från internet (Mark of the Web) och öppnar obekräftade filer i Skyddad vy - låt båda vara aktiverade. Aktivera endast makron i filer du specifikt förväntar dig från en betrodd avsändare. Om du bara behöver datan och inte automatiseringen, öppna den i Google Sheets / Excel för webben (som inte kör VBA) eller spara den som .xlsx för att rensa koden. Behandla alla oönskade förfrågningar om att «aktivera makron» som fientliga.
Formatdetaljer
i ett nötskalProgram som öppnar XLSM-filer
Tekniska detaljer
djup specifikation| MIME-typ | application/vnd.ms-excel.sheet.macroEnabled.12 |
| Containerformat | ZIP-baserat Office Open XML (OPC)-paket |
| Magic bytes | 50 4B 03 04 („PK” - ZIP lokal filheader vid offset 0; byte-identisk med .xlsx, skiljs endast åt genom internt innehåll |
| VBA-projektdel | xl/vbaProject.bin - Compound File Binary (CFB) inbäddad i ZIP-paketet |
| Makrospråk | Visual Basic for Applications (VBA) |
| Content-type identifierare | macroEnabled.12, deklarerad i [Content_Types].xml; detta är vad som formellt skiljer .xlsm från .xlsx |
| Standard makrosäkerhet | Makron blockeras vid öppning; körning kräver användarbekräftelse via prompt eller en konfigurerad betrodd plats |
| VBA-kodsignering | VBA-projekt kan signeras med ett kodsigneringscertifikat för att etablera förtroende för utgivaren och dölja prompter |
| Kryptering | AES-256 lösenordskryptering via Office Open XML-skydd (tillgängligt från Excel 2013 och framåt) |
| Maximal storlek på kalkylblad | 1 048 576 rader × 16 384 kolumner per blad |
| Motsvarighet som mall | .xltm - det makroaktiverade formatet för arbetsboksmallar; samma interna struktur, annan roll för filtillägget |
| Regel för tvingat filtillägg | Excel vägrar att spara en arbetsbok som innehåller VBA som .xlsx; användaren uppmanas att spara som .xlsm istället |
| Begränsning för webb och mobil | VBA-makron körs inte i Excel för webben eller Excel på mobilen; makroinnehållet bevaras men är inaktivt |
| VBA-stöd från tredje part | LibreOffice Calc öppnar .xlsm med partiell VBA-kompatibilitet; komplexa makron eller anrop till Excels objektmodell kan bete sig annorlunda |
| Släppt | 2007 (Excel 2007); the macro-enabled variant of the ECMA-376 / ISO-IEC 29500 format |
| Öppen standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
XLSM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om XLSM-filer.