特定のバージョンの Excel ファイルを作成する場合は、正しいFileFormat
InSaveAs
メソッドを設定する必要があります。
パスに設定.xls
しても、ファイル形式を指定しない場合は、実行中のバージョンの Excel を使用して、SaveAs
メソッドを使用してファイルを保存します。これは、Excel 1997 ~ 2003 のファイルを Excel 2007 以降で開いた場合SaveAs
、パラメータを設定しないと、メソッドはデフォルトでファイルを Excel 2007 ファイルとして保存することを意味しFileFormat
ます。
オプションのオブジェクト。ファイルを保存するときに使用するファイル形式。有効な選択肢のリストについては、FileFormat プロパティを参照してください。既存のファイルの場合、デフォルトの形式は最後に指定されたファイル形式です。新しいファイルの場合、デフォルトは、使用されている Excel のバージョンの形式です。
システムにインストールされている Excel に応じて、2003 と 2007 の両方で保存する場合、FileFormat はどうすればよいですか?
xlWorkbookDefault
システムにインストールされている Excel に応じて、2003 と 2007 の両方で保存する場合は、ファイル形式を設定しないでください。
ファイル名に正しい拡張子 (.xls または .xlsx) を設定するには、現在のバージョンの Excelを検出する必要があります。拡張子が使用されている実際のファイル形式に対応していない場合、ファイルを開くときに、拡張子がファイル形式に対応していないというメッセージが表示されます。
または、提案された解決策は fileName に拡張子を設定していないようで、Excel のバージョンを検出した後に指定した fileFormat に基づいて、Excel に正しい拡張子で fileName を完成させます。ここで使用しています:
- 56 :
xlExcel8
エクセル8
- 46 :
xlXMLSpreadsheet
Excel スプレッドシート形式。
についてのリンクFileFormat
また、Excel 2003 ファイルで Excel 2007 の一部の機能を使用している場合、互換性チェックが表示されなくなることはありません。メッセージを非表示にするには、Application.DisplayAlerts
プロパティを に設定しますfalse
。