| Excel | 定数 | 値 | 拡張子 | 説明 |
|---|---|---|---|---|
| 97-2003 | xlWorkbookNormal | -4143 | .xls | 既定のExcel2003ベースのファイル形式 |
| 2007-2010 | xlWorkbookDefault | 51 | .xlsx | 既定のExcel2007ベースのファイル形式、VBAなし |
| 2007-2010 | xlOpenXMLWorkbookMacroEnabled | 52 | .xlsm | Excel2007ベースのマクロ有効ファイル形式、VBA有効 |
| 2007-2010 | xlExcel12 | 50 | .xlsb | Excel2007バイナリファイル形式(BIFF12) |
| 2007-2010 | xlExcel8 | 56 | .xls | Excel 97 - 2003のバイナリファイル形式(BIFF8) |
| 2007-2010 | xlExcel5 | 39 | .xls | Excel 5.0/95のバイナリファイル形式(BIFF5) |
サンプル
'まずは拡張子を定義
Public Const Extension_Excel2003 As String = ".xls" '2003エクセルの拡張子
Public Const Extension_Excel2007 As String = ".xlsx" '2007エクセルの拡張子
'2007エクセル(マクロ)の拡張子、保存するファイルにVBAが含まれる時はこっちを使ってください
Public Const Extension_Excel2007_With_Macro As String = ".xlsm"
'まずはfileFormat定数を定義
Public Const Excel2003FileFormat As Long = -4143
Public Const Excel2007FileFormat As Long = 51
Public Const Excel2007FileFormatWithMacro As Long = 52
Public gExt As String
Public gFormat As Long
'使っているEXCELのバージョンが97-2003
If Val(Application.Version) < 12 Then
gExt = Extension_Excel2003
gFormat = Excel2003FileFormat
Else '2007-2010の場合
gExt = Extension_Excel2007
gFormat = Excel2007FileFormat
End If
'保存
Application.DisplayAlerts = False
With someWorkbook
.SaveAs Filename:= strFileName & gExt, FileFormat:=gFormat
End With
Application.DisplayAlerts = True
97-2003 xlWorkbookNormal -4143 .xls 既定のExcel2007ベースのファイル形式、VBAなし
返信削除は、VBAなしとありますが、実際はありですよね?
指摘ありがとうございました、vbaあってもなくても、拡張子はxlsだった気がする。
削除Excelの各バーション(95,97,2000,2003,2007,2010)file format一覧表
返信削除の1行目に
97-2003 xlWorkbookNormal -4143 .xls 既定のExcel2007ベースのファイル形式、VBAなし
との記述がありますが、これは正しくは、
97-2003 xlWorkbookNormal -4143 .xls 既定のExcel2003ベースのファイル形式、VBAなし
ということですよね?
ご指摘ありがとうございました、訂正しました。
返信削除