構文
Object.Excel8CompatibilityMode = expression
expression・・・True = 互換モードで開いている/False = 互換モードで開いていない
Excel8CompatibilityModeプロパティでExcelを互換モードで開いているかどうか判別可能です。
互換モードとは現在のExcelのVerと今開いたExcelのVerが違う場合、正常にファイルを開けないことがある為、互換モードして開いている場合があります。
2021年になりますが「xls形式」のファイルで使用しているユーザー様もまだまだいる認識です。
Excel8CompatibilityModeのサンプルコード
Public Sub sample() Dim wb As Workbook Workbooks.Open ("C:\user\sample.xls") Set wb = ActiveWorkbook '■WorkBookオブジェクトを指定してチェックする Debug.Print wb.Excel8CompatibilityMode 'True Debug.Print ActiveWorkbook.Excel8CompatibilityMode 'True End Sub
注意点
- HasVBProjectプロパティは実際に標準モジュールやクラスモジュール、ユーザーフォームがあるかどうかでマクロの有無を判定します。
- 上記理由により、.xlsmの拡張子でコードがない場合は「False」が返ります。
- Excel2003(.xls)形式の場合はHasVBProjectプロパティで有無の確認ができますが、本機能はExcel2007以降で使えるプロパティです。Excel2003で本プロパティは使用できません。
コメント