- ベストアンサー
Excelの表示について
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
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
同じ現象が起こったことがあります。 その時は、シートの設定などで、 Applicationのプロバティを参照したのが原因でした。 ちょっとわかりずらいかもしれないですが。。。 具体的に、シートのページ設定で マージンを設定するところで シート.PageSetup.LeftMargin = Application.CentimetersToPoints * 10 と書くとダメだったので Application.CentimetersToPoints を使わずに数値にしました。
その他の回答 (1)
- ninja972
- ベストアンサー率0% (0/2)
回答にならないのかもしれませんが、 処理方法を大きく変えて一度CSVを削除すのは 後回しにして1件1件読みながら表示させ、 表示を確認してみたらどうでしょうか?
お礼
処理を細かく分け、デバックを繰り返していたら、 原因がわかりました。ありがとうございました。
お礼
貴重な体験談ありがとうございました。 私の場合は、Excelに出力するときに 例外のデータを行ごと削除していたのが 原因だったようで、それを直したらうまくいきました。 VBA、今回初めて扱ったのですが仕様が把握しきれていないようです。。