VBA(Visual Basic for Applications)のサポートが廃止されたOffice 2008 for Macだが、これまで作成した文書や他ユーザから受け取る文書にVBAが含まれている可能性は高い。VBAが実行 / 編集 / 表示できなくなったことはやむをえないとしても、VBAの部分を損なわずに本文やデータを編集したい、というニーズは存在するはずだ。
そのようなときには、(VBAが含まれる)文書を開くときのダイアログで[開いてマクロを削除する]ボタンをクリックしないよう注意すること。このボタンをクリックしないかぎりは、文書に含まれるVBAのコードは無傷のまま残されるので、Office 2004 for MacなどVBAをサポートする環境に持ち込めばVBAは正常に機能する。保存方法も、上書き保存で問題ない。
ただし、ファイルフォーマットを変更する場合は注意が必要。Office 2008 for Macの標準形式(OOXML)はVBAをサポートしないので、無理に拡張子が.xlsxや.docxのファイルとして保存すると、VBAのコードは削除されてしまう。そのような処理を行おうとすると、警告ダイアログが表示されるものの、一度削除してしまうと復元は困難なだけに、十分に理解したうえで実行すべきだろう。
以下の表は、Excel 2008の主要なファイルフォーマットのマクロ(VBA、Excel 4.0 マクロシート)対応状況だ。特にExcelブックはマクロ / VBAを活用することが多いため、Excelのみ取り上げたが、OOXML形式のファイルフォーマットがマクロに対応しない点は共通しているので、拡張子を置き換えて考えてほしい。
表12: Excel 2008の主なファイル形式のマクロ対応状況
ファイル種別 | 拡張子 | マクロの保持 |
---|---|---|
Excelブック | .xlsx | × |
Excelテンプレート | .xltx | × |
Excel97-2004ブック | .xls | ○ |
Excel97-2004テンプレート .xlt | ○ | |
Excelバイナリブック | .xlsb | ○ |
Excelマクロ有効ブック | .xlsm | ○ |
Excelマクロ有効テンプレート | .xltm | ○ |
Excelアドイン | .xla | ○ |