2010-11-18 30 views
3

Excel 2003以降では、引数をWorkbook.SaveAsコマンドに指定することをお勧めします。これは、.xlsファイル名を指定したにもかかわらず、FileFormat引数を指定しなくても、ファイルが破損しており、新しく保存されたファイルはActiveWorkbook(2007年)の形式をとるため、Excel 2003では読み込めません。 ようにExcel 2007で 56 Excel 2003および場合 - :ExcelのSaveAs FileFormat引数はバージョンに依存しません

If Val(Application.Version) < 12 Then 
    ' You use Excel 97-2003 
    FileExtStr = ".xls": FileFormatNum = -4143 
Else 
    ' you use excel 2007 or later 
    FileExtStr = ".xls": FileFormatNum = 56 
End If 

Excel 2003の互換性のある形式で保存するためには、これらの次FileFormatの値を使用することが提案されて

実行クライアントは、Excel 2003のまたは2007だったし、それがうまく働いた場合しかし、私は関係なく、-4143を使用してみました。これが事実かどうか誰にでも確認できますか?

出典:Use VBA SaveAs in Excel 2007-2010

答えて

0

私はあなたがバイナリ.XLSドキュメントを取得したい場合は56に等しいxlFileFormat.xlExcel8を使用して明示的にお勧めしたいです。

1

あなたは、2003形式のファイルを保存するために、Excel 2003を使用している場合、デフォルトはとにかく2003形式を保存することですから、全くのファイル形式を指定する必要はありません。質問のApplication.Versionコードは正常に動作しますが、FileFormatを指定する必要はありません。

あなたは、私が2003年には、そのカードをプレイする方法を知りませんが、私は特に指定しない限り、デフォルト(56)を選択します期待していた場合には2003年の2007ドキュメントコンバータを、使用している場合を除き。

NB:上記示唆したように、私は確かに、2003年にxlFileFormat.xlExcel8を指定することはできませんので、それは多くの助けではありません。

関連する問題