Page 540 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼マクロ記録でのCSVファイルオープンの速度 koji 03/1/13(月) 17:17 ┗Re:マクロ記録でのCSVファイルオープンの速度 りん 03/1/13(月) 17:52 ┗Re:マクロ記録でのCSVファイルオープンの速度 koji 03/1/13(月) 21:01 ┗Re:文字ばっかり りん 03/1/13(月) 21:57 ┗Re:文字ばっかり koji 03/1/14(火) 1:49 ─────────────────────────────────────── ■題名 : マクロ記録でのCSVファイルオープンの速度 ■名前 : koji ■日付 : 03/1/13(月) 17:17 -------------------------------------------------------------------------
CSVファイルをEXCEL上で開く際、[開く]-*.csvでファイル選択した場合と、 その操作をマクロ記録し、実行した場合とで開く速度が大幅に違う(後者が圧倒的に遅い)のですが、この違いは何故なのでしょう? 手動オープンと同等の早さにする方法はあるのでしょうか? ご教授のほどお願いします。 コードは以下です。 Sub Macro1() ChDir "D:\test" Workbooks.Open Filename:= _ "D:\test\aaa.csv" End Sub |
koji さん、こんばんわ。 >CSVファイルをEXCEL上で開く際、[開く]-*.csvでファイル選択した場合と、 >その操作をマクロ記録し、実行した場合とで開く速度が大幅に違う(後者が圧倒的に遅い)のですが、この違いは何故なのでしょう? うちの環境(XL97&WinMe)では大差ないのですが。 Sub TEST() With Application .Calculation = xlCalculationManual .ScreenUpdating = False End With ' Workbooks.Open Filename:= "D:\test\aaa.csv" ' With Application .Calculate .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With End Sub こんな感じです。 全部のセルにみっちり「1」を入れたcsvを作ってマクロで開いたところ、1分17秒かかりました。再計算&画面更新を切ったら1分14秒でした(上記例)。普通に開いてもそれくらいかかりました(こちらは時計を見ながら計ったのでおおまか)。 |
りん さん、こんばんわ。ご回答ありがとうございます。 確かに全部のセルにみっちり「1」を入れたcsvでは開く速度に大差はありませんでした。 わたしの環境はXL2000&Win2000ですが。 どうやら文字列を含んだ場合に現象が発生するようです。 例えば横10X縦1000に あああ 等と入力した場合、開く速度に差が出ています。 マクロと手動で、メモリの使い方でも違うのでしょうか・・・。 |
koji さん、こんばんわ。 >例えば横10X縦1000に あああ 等と入力した場合、開く速度に差が出ています。 出ました出ました。 普通に開くと5秒くらいで、マクロだと25秒くらいでした。OpenTextも試しましたが同じくらいかかりました。ゲージの伸びも悪いし何故でしょうね。 お役に立てなくてすみません。 (Line)Inputで取得していく方が早いかもしれませんね。 |
りん さん、ありがとうございました。 Line Inputで取得していく方向で行きます。 ちなみにマクロ実行で遅いのはEXCEL97のバグらしいです。。 EXCEL2000でも遅かったですが・・。 |