Что такое формат файла DOCM?
Файл .docm - это документ с поддержкой макросов, созданный в Microsoft Word, введенный вместе с Microsoft Office 2007. Формат .docm тесно связан с форматом .docx - главное отличие заключается в том, что он хранит встроенные макросы VBA, которые автоматизируют повторяющиеся задачи внутри документа. Обычный .docx не может содержать макросы, поэтому Word автоматически сохраняет любой документ с макросами как .docm.
Как и .docx, файл .docm - это сжатый пакет Open XML на основе ZIP-архива, который может содержать форматированный текст, изображения, фигуры, диаграммы и многое другое. Внутри пакета содержится двоичная часть word/vbaProject.bin, содержащая проект VBA, наряду со стандартными XML-частями для содержимого и стилей.
Приложения, которые могут открывать и редактировать файлы .docm, включают Microsoft Word, LibreOffice Writer и WPS Office Writer. Google Docs и Word для веба могут открывать файлы .docm, но не выполняют макросы VBA полностью.
Безопасность и защита
РИСК: HIGHDOCM - один из самых важных форматов, с которыми следует обращаться с осторожностью, так как он может содержать макросы VBA, выполняющие код. Документы Word/Excel с поддержкой макросов - это давно известный метод доставки вредоносного ПО (например, Emotet, вложения-«инвойс»/«резюме» dropper) - атака работает за счет социальной инженерии пользователя, заставляя его нажать «Включить содержимое»/«Включить макросы», после чего макрос может скачать и выполнить вредоносную программу. Защита: (1) с 2022 года Microsoft блокирует макросы по умолчанию в файлах Office, поступивших из интернета (Mark of the Web) - не обходите это предупреждение для неожиданных файлов; (2) никогда не включайте макросы в .docm, который вы не запрашивали, особенно если документ, который должен быть обычным текстом, приходит как макрос-включенный; (3) для безопасного чтения подозрительного содержимого откройте его в Google Docs / Word для веба / LibreOffice, где VBA Word не выполняется, или сохраните его как .docx, чтобы удалить макросы; (4) держите антивирус и Office в актуальном состоянии.
Детали формата
в двух словахПрограммы, открывающие файлы DOCM
Технические подробности
глубокая спецификация| MIME-тип | application/vnd.ms-word.document.macroEnabled.12 |
| Магические байты | 50 4B 03 04 («PK» - заголовок локального файла ZIP, идентичен .docx) |
| Формат контейнера | ZIP-архив (пакет Office Open XML) |
| Сжатие | DEFLATE, применяется к каждому элементу внутри ZIP-контейнера |
| Основная часть документа | word/document.xml - UTF-8 WordprocessingML XML, содержащий тело документа |
| Хранилище макросов | word/vbaProject.bin - двоичный контейнер OLE2/CFBF, содержащий проект макросов VBA (формат MS-OVBA) |
| Объявление типа содержимого | [Content_Types].xml объявляет тип содержимого macroEnabled.12, отличая .docm от .docx |
| Шифрование | Опциональное шифрование паролем через AES (ECMA-376 Agile Encryption), упаковывающее пакет в оболочку OLE2/CFBF |
| Типичный размер файла | 20 КБ - 10 МБ; текстовые файлы малы, встроенные изображения и медиа определяют размер |
| Порядок байтов | Little-endian в полях ZIP и хранилище VBA OLE2 |
| Проверка целостности | CRC-32 для каждого элемента ZIP; необязательная цифровая подпись для проекта VBA и/или пакета документа |
| Поддерживаемые платформы | Windows, macOS, Linux (LibreOffice), веб (просмотр только в большинстве браузеров) |
| Связь с .docx | Структурно идентичен .docx; различия - в объявлении типа содержимого и добавленной части word/vbaProject.bin |
| Движок VBA | Microsoft Visual Basic for Applications (VBA); тот же движок используется в макрос-включенных файлах Excel (.xlsm) и PowerPoint (.pptm) |
| Максимальное количество записей архива | Предел ZIP 65 535 записей (на практике редко достигается) |
| Кодировка | Смешанная: части текста UTF-8 XML плюс двоичный OLE2 (vbaProject.bin) внутри ZIP-контейнера |
| Выпущен | 2007 (Word 2007 / Office Open XML) |
| Последняя версия | OOXML transitional/strict per ISO/IEC 29500; current Microsoft 365 build of the schema |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации DOCM
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах DOCM.