互換モードを判定するプロパティ


本レビューで紹介しているように、Excel 2007は数え切れないくらいの改良や新機能が加えられています。しかし、こうしたExcel 2007の新機能を使うには、Excel 2007形式のブックでないといけません。Excel 2003までの形式で保存された、旧形式のブックを開くと、タイトルバーに[互換モード]と表示されます。互換モードで開いているブックでは、ワークシートの大きさが、Excel 2003までと同じ 65536行×256列 となります。

ほかにも、互換モードで開いているブックと、Excel 2007形式のブックでは、作成するピボットテーブルに違いがあるなど、微妙に動作が異なります。マクロでブックを操作するとき、そのブックが「互換モードかどうか」を判定しなければいけない場面が、もしかするとあるかもしれません。

Excel 2007では、そのブックが「互換モードかどうか」を、WorkbookオブジェクトのExcel8CompatibilityModeプロパティで判定できます。Excel8CompatibilityModeプロパティは、Excel 2007で追加されたプロパティで、そのブックが互換モードで開かれているときTrueを返します。

Sub Sample1()
    If ActiveWorkbook.Excel8CompatibilityMode Then
        MsgBox "互換モードです"
    Else
        MsgBox "互換モードではありません"
    End If
End Sub