はじめて投稿します。
よろしくお願いします。
VB6.0にて作成したプログラムがあります。
それは、CSVファイルを読みそれをプログラムで加工して
XLSファイルに保存するプログラムです。
これを作成した時は、Office2000でした。
先日、Office2000からOffice2007に入れ替えを行いました。
そのプログラムを実行した所、保存ファイル形式はXLSなのに
Excel2000では開くことができないのです。(バケている)
Excel2007で開くことができます。
Excel2007で開けば問題ないのでは?と感じるかもしれませんが
プログラムを実行する端末がOffice2007で
変換されたファイルを見る端末がOffice2000なのです。
コモンダイアログでファイル名をつけさせて保存するようにしております。
With FrmMain.CmnDialog
.CancelError = True
.DialogTitle = "ファイルを保存"
.Flags = cdlOFNHideReadOnly
.Filter = "XLSファイル(*.XLS)|*.XLS|"
.FilterIndex = 1
.FileName = vbNullString
.InitDir = SavePath
.ShowSave
End With
'ファイルをセーブする
Exlbook.SaveAs FrmMain.CmnDialog.FileName
Excel2007がインストールされたPCでExcel2000でも開くことができるように
VB6で保存するにはどうしたらよいのでしょうか・・・
色々と調べては見たのですが、解決できず質問させてもらいました。
よろしくお願い致します。
> Exlbook.SaveAs FrmMain.CmnDialog.FileName
SaveAs の第二引数が指定されていませんね。
ここには、XlFileFormat 列挙型の定数を入れる必要があります。
(Excel VBA のヘルプで、XlFileFormat について調べてみてください)
第二引数を省略すると、「既定のモード」で保存される事になりますので、
Excel のバージョンによって、保存形式が変化してしまったのでしょう。
魔界の仮面弁士 様
ありがとうございます!!!!
できました!!!!!
アドバイス通りにFileFormatに「xlWorkbookNormal」を指定したら
開けるようになりました。
ただ、異様にファイルサイズが大きくなりました・・・
本当にありがとうございました。