XLAM ファイル形式とは?
.xlam ファイルは Microsoft Excel 用のアドインを保存し、カスタム関数、リボンコマンド、または自動化ルーチンとして公開される VBA マクロを通じて新しい機能を提供します。.xlam 形式は Office Open XML 標準に準拠しており、.xlsx や .xlsm ファイルもこの標準を使用しています。XML パーツとバイナリの xl/vbaProject.bin ストリームを ZIP アーカイブとしてパッケージ化した .xlam は、古いバイナリ形式の .xla アドインの直接的な Open XML 後継形式です。Excel 2007 で ECMA-376 / ISO/IEC 29500 OOXML 仕様の一部として導入され、この形式は Microsoft 365 でも引き続き完全に現行のものです。
Excel アドイン
Excel アドインは、ファイル形式と提供する機能の種類に基づいてグループに分けることができます。プレーンな .xlsx ワークブックとは異なり、.xlam ファイルにはマクロが含まれている必要があります。VBA コードを保持することがその定義上の目的です。Excel は .xlam ファイルを非表示のワークブックとしてバックグラウンドで読み込みます。これらが公開するマクロやカスタム関数は、そのワークブック自体のファイル形式に関係なく、開いているすべてのワークブックで使用可能です。前身の .xla 形式は、Open XML 時代以前にバイナリ形式で同じ役割を果たしていました。
セキュリティと安全性
リスク: HIGHXLAM には常に実行可能な VBA が含まれており、Excel はアドインを有効にすると起動するたびにそのコードを自動的に実行します。一度信頼すると、開くたびに「マクロを有効にする」プロンプトは表示されません。そのため、悪意のある XLAM は単発の XLSM よりも危険です。ルール:信頼できる作成者のアドインのみをインストールし、デジタル署名されたものを優先し、不明な XLAM はまず検査(.zip にリネームして vbaProject.bin / customUI を確認)してください。マクロセキュリティをグローバルに下げるのではなく、Excel の「信頼できる場所」に保管してください。予期しない .xlam の添付ファイルは、他の実行ファイルと同様に扱ってください。
形式の詳細
概要XLAM ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | ZIP アーカイブ (Open Packaging Conventions / OPC)。 .xlsx や .xlsm と同じ構造エンベロープで、パッケージ内の宣言されたコンテンツタイプによって区別されます |
| ファイルシグネチャ (マジックバイト) | オフセット 0 に 50 4B 03 04 («PK»)。あらゆる ZIP と同一。内部の [Content_Types].xml によるアドインコンテンツタイプの宣言と xl/vbaProject.bin の存在によって区別されます |
| MIME タイプ | application/vnd.ms-excel.addin.macroEnabled.12 |
| 内部コンテンツタイプ | application/vnd.ms-excel.addin.macroEnabled.main+xml(OPC パッケージ内の [Content_Types].xml で宣言) |
| VBA バイナリストリーム | xl/vbaProject.bin - すべての VBA モジュールソースコードとコンパイル済み p-code を保持する、ZIP 内に埋め込まれた OLE2 複合ドキュメント |
| XML エンコーディング | すべての XML パーツは UTF-8。xl/vbaProject.bin および埋め込まれた画像や OLE オブジェクトはバイナリ |
| 圧縮 | ZIP エントリごとの DEFLATE。XML パーツは圧縮され、バイナリストリーム (vbaProject.bin) は非圧縮で保存される場合があります |
| 暗号化 | パスワードで保存された場合、パッケージ全体に対してオプションの ECMA-376 Agile Encryption (AES-256) が適用されます。VBA プロジェクトは、レガシーな RC4 ベースのロックを使用して個別にパスワード保護することも可能です |
| コード署名 | VBA プロジェクトおよび/または OPC パッケージの Office デジタル署名をサポートし、Excel のセキュリティプロンプトを完全に無効にすることなくマクロの信頼を可能にします |
| 一般的なファイルサイズ | VBA コードの量や画像、XML スキーマなどの埋め込みリソースに応じて 20 KB から数 MB |
| 読み込み動作 | Excel によって非表示のワークブックとしてバックグラウンドで読み込まれます。その関数とマクロは、ワークブックのウィンドウリストに表示されることなく、開いているすべてのワークブックでグローバルに使用可能です |
| 内部バージョン識別子 | macroEnabled.12 - «12» は Office 2007 (内部ビルド Office 12) を指します。OPC パッケージ構造は導入以来メジャーバージョンの変更はありません |
| 前身の形式 | .xla - Excel 2007 以前に使用されていたバイナリ OLE2 ベースの Excel アドイン。.xlam はマクロ言語として VBA を維持しつつ、Open XML コンテナでこれを置き換えました |
| プラットフォームのサポート | Windows (VBA およびアドイン管理の完全なサポート) および macOS (Excel for Mac は .xlam を VBA と共に実行しますが、一部の Windows 固有の API 呼び出しは利用できない場合があります) |
| リリース日 | 2007 (Excel 2007); part of ECMA-376 / ISO-IEC 29500 OOXML |
| 最新バージョン | Same OPC/OOXML package format since Excel 2007; current in Microsoft 365 |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | learn.microsoft.com |
XLAM の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。XLAM ファイルについて最初の質問をしてみましょう。