Excel 2007・2010でファイルを保存しようとすると、以下のような確認メッセージが表示されることがあります。
次の機能はマクロなしのブックに保存できません
・VBプロジェクト
これらの機能が含まれるファイルを保存する場合は、[いいえ]をクリックし、[ファイルの種類]ボックスでマクロ有効ファイルの種類を選択してください。
マクロなしのブックとして保存する場合は、[はい]をクリックしてください。
次の機能はマクロなしのブックに保存できませんメッセージの表示される理由
この「次の機能はマクロなしのブックに保存できません」メッセージは、VBA(Visual Basic for Applications)のコードが含まれているのに、Excel 2007・2010の標準タイプの拡張子「.xlsx」で保存しようとすると、表示されます。
Microsoft Officeは、バージョン2007からファイルフォーマットがOffice Open XMLに変更されました。
これに伴い、マクロの含まれているファイルの拡張子が、
.xlsm
.docm
.pptm
と、末尾に「m」のついたものになっています。
拡張子を区別することで、マクロを含むファイルを簡単に識別できるようになり、セキュリティが高まるというメリットがあります。
マクロが含まれているファイルの場合、本来は末尾に「m」の着いた拡張子で保存しないといけないのに、末尾が「x」の通常タイプの拡張子で保存されようとしたときに、「次の機能はマクロなしのブックに保存できません」メッセージが表示されます。
どうすればいいかというと、[いいえ]ボタンを押してから、拡張子の末尾に「m」がつくタイプのファイル種別で保存をすればOKです。
[はい]を押したときの悲劇
「次の機能はマクロなしのブックに保存できません」メッセージでうっかり[はい]ボタンをクリックしてしまうと、悲劇です。
せっかく書いたVBAのコードが消えてしまいます。
残念ながら、このような長いメッセージを読むことを、拒絶してしまうタイプの人が、少なからず、いらっしゃいます。
「次の機能はマクロなしのブックに保存できません」メッセージも、ちゃんと読まれずにそのまま[はい]ボタンをクリックされてしまう可能性の高いものの一つです。おそらく[はい]ボタンがデフォルトになっていることも悲劇を助長しているでしょう。
うっかりVBAのコードを消してしまわないために
Excel 2007・2010でマクロを作ろうと思ったら、VBAのコードを書く前に、まずは拡張子「.xlsm」(利用状況によっては「.xlsb」や「.xls」)で保存しておくことを、強くおすすめします。
オプション設定によってこの悲劇を回避する方法もありますが、その方法は近日中に別記事として公開させていただこうと思います。(オプション設定を変更してデフォルトの保存形式を変更する方法を記事にしました。2011-10-26追記)
今回の「次の機能はマクロなしのブックに保存できません」に限らず、ファイルを作成しはじめたら早い段階で、適切なファイル形式で保存するという癖をつけることを、強くおすすめしておきます。
- Newer:テキストボックス内を検索する
- Older:システム情報ダイアログを表示するショートカットキー-Ctrl+Alt+F1
Home » Office 2007(オフィス2007)の使い方 » Excel 2007(エクセル2007) » 次の機能はマクロなしのブックに保存できませんとは