DOTM ファイル形式とは?
.dotm ファイルは、Microsoft Word マクロ有効テンプレートです。これは、Office 2007で導入された Word Open XML テンプレートファミリーのマクロ保持メンバーです。.dotx(マクロなしテンプレート)のテンプレート動作と、.docm(マクロ有効文書)の VBA マクロ機能を組み合わせています。
すべての Office Open XML ファイルと同様に、.dotm は標準の PK シグネチャ(50 4B 03 04)で始まる ZIP アーカイブです。内部的には、[Content_Types].xml が application/vnd.ms-word.template.macroEnabled.12 コンテンツタイプを宣言していること、およびすべての VBA マクロコードを保持する OLE2 バイナリストリームである word/vbaProject.bin が存在することによって区別されます。その他のパッケージパーツ(word/document.xml、word/styles.xml、word/settings.xml)は標準的な UTF-8 XML です。
定義された動作:.dotm ファイルをダブルクリックすると、テンプレートに基づいた新しい無題のドキュメントが作成され、テンプレート自体は変更されません。.dotm を直接編集するには、«ファイル» > «開く» を使用するか、右クリック > «Wordで開く» を選択します。
2022年以降、Microsoft はインターネットからダウンロードされた Office ファイル(Mark of the Web の適用)において、.dotm テンプレートを含むマクロをデフォルトでブロックしています。マクロがプロンプトなしで実行されるのは、ファイルが指定された «信頼できる場所» または «信頼できるテンプレート» フォルダにある場合のみです。.dotm ファイルは、企業環境において、共有スタイル、定型文、およびドキュメント作成や差し込み印刷ロジックなどの自動化を、中央管理されたテンプレートパスを介して展開するために広く使用されています。LibreOffice Writer は部分的な VBA 互換性を提供していますが、複雑なマクロには調整が必要な場合があります。
セキュリティと安全性
リスク: HIGHDOTM は VBA マクロを保持しており、リスクの高いファイル形式です。主な脅威は «テンプレートインジェクション» 攻撃で、一見無害な DOCX に DOTM への参照を埋め込み、開封時に悪意のある VBA をサイレントにダウンロードして実行させます。直接的な DOTM フィッシングの誘い文句は、ユーザーに «コンテンツの有効化» を促します。防御策:(1) 2022年以降、Microsoft はインターネット由来の Office ファイルのマクロをデフォルトでブロックしています。Mark of the Web の警告をバイパスしないでください。(2) 予期しない、または要求していない DOTM で «コンテンツの有効化» をクリックしないでください。(3) 不審な DOTM ファイルは Google ドキュメント、Word for the web、または LibreOffice で開いてください。これらの環境では Word VBA は実行されません。(4) 実行前に拡張子を .zip に変更し、olevba (python-oletools) などのツールで vbaProject.bin を検査してください。DOTM は、テンプレート内のマクロがセッションをまたいで持続し、ドキュメント作成時に自動実行される可能性があるため、DOCM よりも大きなリスクを伴います。
形式の詳細
概要DOTM ファイルを開くプログラム
技術的詳細
詳細仕様| エンコーディング | UTF-8 XML パーツとバイナリ OLE2 VBA ストレージを含むバイナリ (ZIP) |
| マジックバイト | オフセット 0 に `50 4B 03 04` (`PK`) - 標準の ZIP ローカルファイルヘッダー |
| バイト順序 | リトルエンディアン (ZIP フィールドおよび埋め込み OLE2 VBA ストレージ) |
| コンテナ | ZIP アーカイブ (Office Open XML パッケージ) |
| 圧縮 | ZIP エントリごとの DEFLATE |
| VBA プロジェクトストレージ | `word/vbaProject.bin` - ZIP 内部に埋め込まれた OLE2/CFBF バイナリ。すべてのマクロコードとモジュール定義を含む |
| コンテンツタイプ | `application/vnd.ms-word.template.macroEnabled.12` (`[Content_Types].xml` 内で宣言) |
| ダブルクリック時の動作 | テンプレートから新しい無題のドキュメントを作成します。`.dotm` 自体は編集用に開かれません |
| 暗号化方式 | パスワード保護されている場合は ECMA-376 Agile Encryption 経由の AES。ZIP パッケージを OLE2 エンベロープ内にラップします |
| デジタル署名 | VBA プロジェクトのコード署名をサポート。オプションで OOXML パッケージレベルのデジタル署名も利用可能 |
| マクロセキュリティ | 2022年以降、インターネット由来のファイル(Mark of the Web)はデフォルトでブロック。«信頼できる場所» からのみ無制限に実行可能 |
| 主要なパッケージパーツ | `[Content_Types].xml`, `word/document.xml`, `word/styles.xml`, `word/settings.xml`, `word/vbaProject.bin` |
| 典型的なファイルサイズ | 20 KB - 5 MB (単純なマクロテンプレートの場合。埋め込み画像や広範な VBA モジュールがある場合はより大きくなります) |
| リリース日 | 2007 (Word 2007 / Office Open XML) |
| 最新バージョン | OOXML ISO/IEC 29500 (current Microsoft 365 schema); VBA macro project per MS-OVBA |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | learn.microsoft.com |
DOTM の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。DOTM ファイルについて最初の質問をしてみましょう。