DBからデータをcsvに落とし、それをExcel表示させたいのですが、
Excel出力後、すぐに起動しようとすると、Excel自体は起動するのですが、
データが表示されません。
アプリケーション終了後にExcelを起動すれば問題なく開けます。
Excelまたはcsvの後処理の仕方が悪いのでしょうか?
どなたかわかる人がいましたら教えてください。

'csvからExcelへ出力する処理が入る

mxlBook.Save '変更を保存
mxlBook.Close

mxlApp.Quit 'Excelから抜ける

Set mxlBook = Nothing
Set mxlApp = Nothing

'CSVファイルの読込み
Set tsText = fsoFSO.OpenTextFile(strFileName, ForReading, False)
varData = tsText.ReadAll

'DBへの格納
deTest.cnTest.BeginTrans

strSQL = "SELECT * FROM CSV1"
Set rsRS = New ADODB.Recordset
rsRS.Open strSQL, deTest.cnTest, adOpenStatic, adLockPessimistic

With rsRS
.AddNew
'アップデートの処理が入る
.Update
End With

rsRS.Close

deTest.cnTest.CommitTrans

tsText.Close

'CSVファイルをクライアントマシンから削除
fsoFSO.DeleteFile strFileName

Set fsoFSO = Nothing
Set rsRS = Nothing

A 回答 (2件)

同じ現象が起こったことがあります。



その時は、シートの設定などで、
Applicationのプロバティを参照したのが原因でした。
ちょっとわかりずらいかもしれないですが。。。

具体的に、シートのページ設定で
マージンを設定するところで

シート.PageSetup.LeftMargin = Application.CentimetersToPoints * 10

と書くとダメだったので

Application.CentimetersToPoints を使わずに数値にしました。
    • good
    • 0
この回答へのお礼

貴重な体験談ありがとうございました。
私の場合は、Excelに出力するときに
例外のデータを行ごと削除していたのが
原因だったようで、それを直したらうまくいきました。
VBA、今回初めて扱ったのですが仕様が把握しきれていないようです。。

お礼日時:2002/03/01 09:27

回答にならないのかもしれませんが、


処理方法を大きく変えて一度CSVを削除すのは
後回しにして1件1件読みながら表示させ、
表示を確認してみたらどうでしょうか?
    • good
    • 0
この回答へのお礼

処理を細かく分け、デバックを繰り返していたら、
原因がわかりました。ありがとうございました。

お礼日時:2002/03/01 09:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報

カテゴリ