[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ファイルオープン 表示の省略』(よし)
Excel2000、Windows2000 マクロでファイルをオープンして、ファイルの内容を読込み/書込みしています。ただ、多く のファイルを処理しているため、処理に時間がかかります。マクロ動作中にファイルを開いた り閉じたりしているのですが(見た目で)、この表示を省略することはできないものでしょう か?この表示がなくなればマクロ処理も早くなるように考えているのですが... ご教授お願い致します。
非表示で開く方法があるらしいけど・・・・INAさんが教えてくれないの(ノ_・。)
とりあえず一回開いて非表示なら出来るけど・・・(^_^A; 画面の切り替えを無くしたらどうなんでしょう。 Application.ScreenUpdating = False '開く処理 ActiveWindow.Visible = False '←これは開いてしまえば一緒か_/ ̄|○ il||li Application.ScreenUpdating = True
(川野鮎太郎)
ありがとうございます。 画面の切り替えをなくすことができました。5%強速くなりました。 非表示だともっと速いのかな〜。 でも少しでも速くできたのでうれしいです。 (よし)
>非表示で開く方法があるらしいけど・・・・INAさんが教えてくれないの(ノ_・。) 無いですよ〜。 前に触れたのは、Excel 4.0マクロを利用する方法で、 セルの値の取得しかできません。 http://www.officetanaka.net/excel/vba/tips/tips28.htm
しかし、そうなるとCSV,txt,mdbファイルに対する処理と変わらないので、 ADOやDAOを利用した方が便利だと思います。 > 非表示だともっと速いのかな〜。 非表示にする処理が増えるし、それほど変わらないはずです。 Select や Activate は使ってないですよね・・・? どのようなVBAを使っているのでしょう? (INA)
あら、無いんですか(^_^A; 一生懸命探して1〜2時間探しても無かったんです_/ ̄|○ il||li 私の勘違いなのですねm(._.)m ペコッ (川野鮎太郎) あっちを覗いて気づかれたのかしら・・・w
いま覗いて気付きました。(^_^;) (INA)
少し強引なのかもですが参考までに… Sub test() Dim ex As Application Dim b As Workbook Set ex = New Application 'ex.Visible = True Set b = ex.Workbooks.Open(ThisWorkbook.Path & "\test.xls") MsgBox b.Worksheets("Sheet1").Range("A1") b.Close Set b = Nothing ex.Quit Set ex = Nothing End Sub 新規でエクセルを別に立ち上げて、そっちでこっそりブックを開いて値を取得する手法。 速度的に有利かは分かりません。 (ご近所PG)思いつきなので…
いつもながらありがとうございます。^^ 別のエクセルを立ち上げる・・・なるほどです。 速度的なことで試した結果、アプリケーションとして立ち上げる時間が余分にかかることになるためか、 若干遅くなりました(^_^A; これは、PCの能力にも影響があるのでしょうね。メモリ1GB積んだPCで0.3秒程度だけですが(^_^A; 自分の知識として上記のコードのことは頭の中に入れておきます^^ ありがとうございました。ペコリ(o_ _)o))
(川野鮎太郎)
ご連絡遅れましてすみません。 >Select や Activate は使ってないですよね・・・? >どのようなVBAを使っているのでしょう? SelectやActivate、使ってます。VBAについてよくわからずサンプルプログラムなどをいじっ てマクロを組んでます。速度アップには向いてないのでしょうか? 皆様、貴重なアドバイスありがとうございます。勉強します。
(よし)
>SelectやActivate、使ってます。 これらはただの選択行為なので、表示したい場合を除き、ほとんど不要です。 余分な選択があると画面がちらつきますし、遅くなります。
(INA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.