Co to jest format pliku XLSM?
.xlsm to powszechnie używany dokument arkusza kalkulacyjnego utworzony w programie Excel 2007 lub nowszym. Pliki .xlsm przechowują dane w komórkach zorganizowanych w wiersze i kolumny. Format ten opiera się na standardzie Office Open XML i wykorzystuje kompresję ZIP, co czyni go strukturalnie podobnym do pliku .xlsx.
.xlsm i .xlsx to niemal identyczne formaty arkuszy, z tą kluczową różnicą, że .xlsm zawiera makra napisane w języku Visual Basic for Applications (VBA). Makro to zdefiniowana przez użytkownika funkcja, która może służyć do automatyzacji powtarzalnych zadań, manipulowania danymi lub sterowania innymi aplikacjami Office. Makra są domyślnie wyłączone w programie Excel ze względów bezpieczeństwa, ponieważ mogą być wykorzystywane do dostarczania złośliwego kodu. Aby korzystać z makr, arkusz musi zostać zapisany jako plik .xlsm; zapisanie jako .xlsx spowoduje ciche usunięcie projektu VBA.
Wewnętrznie projekt VBA jest przechowywany jako binarna część xl/vbaProject.bin wewnątrz pakietu ZIP. Plik [Content_Types].xml w pakiecie deklaruje typ zawartości macroEnabled.12, co odróżnia .xlsm od .xlsx na poziomie formatu - oba współdzielą te same sygnatury magic bytes PK. Powiązanym formatem jest .xltm, czyli wariant szablonu Excel z obsługą makr, oraz .xlsb, czyli binarny odpowiednik, który również obsługuje makra.
Bezpieczeństwo
RYZYKO: HIGHXLSM jest członkiem rodziny Excel o wysokim ryzyku właśnie dlatego, że MOŻE uruchamiać kod: jego makra VBA są klasycznym wektorem złośliwego oprogramowania. Schemat ataku to przesłany e-mailem plik .xlsm, który wywiera presję na kliknięcie „Włącz zawartość/makra”, po czym VBA pobiera lub wykonuje szkodliwy ładunek. Zabezpieczenia: Microsoft domyślnie blokuje makra w plikach pochodzących z internetu (Mark of the Web) i otwiera niezaufane pliki w Widoku chronionym - należy pozostawić obie te funkcje włączone. Włączaj makra tylko w plikach, których konkretnie oczekujesz od zaufanego nadawcy. Jeśli potrzebujesz tylko danych, a nie automatyzacji, otwórz plik w Google Sheets lub Excel dla sieci Web (które nie uruchamiają VBA) lub zapisz go jako .xlsx, aby usunąć kod. Każdą nieoczekiwaną prośbę o „włączenie makr” traktuj jako wrogą.
Szczegóły formatu
w pigułceProgramy otwierające pliki XLSM
Szczegóły techniczne
specyfikacja| Typ MIME | application/vnd.ms-excel.sheet.macroEnabled.12 |
| Format kontenera | Pakiet Office Open XML (OPC) oparty na ZIP |
| Magic bytes | 50 4B 03 04 („PK” - nagłówek lokalnego pliku ZIP na przesunięciu 0; identyczny bajtowo z .xlsx, rozróżniany tylko przez zawartość wewnętrzną) |
| Część projektu VBA | xl/vbaProject.bin - Compound File Binary (CFB) osadzony wewnątrz pakietu ZIP |
| Język makr | Visual Basic for Applications (VBA) |
| Identyfikator typu zawartości | macroEnabled.12, zadeklarowany w [Content_Types].xml; to formalnie odróżnia .xlsm od .xlsx |
| Domyślne bezpieczeństwo makr | Makra blokowane przy otwarciu; wykonanie wymaga potwierdzenia użytkownika lub skonfigurowanej zaufanej lokalizacji |
| Podpisywanie kodu VBA | Projekt VBA może być podpisany certyfikatem podpisywania kodu, aby ustanowić zaufanie do wydawcy i wyciszyć monity |
| Szyfrowanie | Szyfrowanie hasłem AES-256 poprzez ochronę Office Open XML (dostępne od Excel 2013 wzwyż) |
| Maksymalny rozmiar arkusza | 1 048 576 wierszy × 16 384 kolumn na arkusz |
| Odpowiednik szablonu | .xltm - format szablonu skoroszytu z obsługą makr; ta sama struktura wewnętrzna, inna rola rozszerzenia |
| Zasada wymuszonego rozszerzenia | Excel odmawia zapisania skoroszytu zawierającego VBA jako .xlsx; użytkownik jest proszony o zapisanie go jako .xlsm |
| Ograniczenia webowe i mobilne | Makra VBA nie są wykonywane w Excel dla sieci Web ani w Excel na urządzenia mobilne; zawartość makr jest zachowana, ale nieaktywna |
| Obsługa VBA przez firmy trzecie | LibreOffice Calc otwiera .xlsm z częściową kompatybilnością VBA; złożone makra lub wywołania modelu obiektowego Excel mogą zachowywać się inaczej |
| Wydano | 2007 (Excel 2007); the macro-enabled variant of the ECMA-376 / ISO-IEC 29500 format |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | learn.microsoft.com |
Konwersje XLSM
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki XLSM.