[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでウィンドウを整列』(シュウ)
お世話になります。
あるファイル(ファイル1)に入力する際、付随するファイルへの入力漏れがないように、
auto_openを使ってその他2つのファイルを開いて整列させています。
以下のように書いているのですが、
Sub auto_open()
Workbooks.Open Filename:="2つ目のファイルのパス"
Workbooks.Open Filename:="3つ目のファイルのパス"
Windows.Arrange ArrangeStyle:=xlHorizontal
End Sub
3つのファイルが開いた後、上手く整列することもあるのですが、
きちんと上下に3分割されずにファイル1が最大表示で裏にファイル2そファイル3が開いたりする時があります
ファイルが開き切る前に整列コマンドに移っているのかと思い、
整列の前にsleepを入れてマクロを数秒止めてみたりもしましたがよけいにうまく整列してくれません。
うまく動く時と動かない時があるのが不思議です。
どう書くのが良いでしょうか?
よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
こちらでは何度やっても整列されますが、だめもとで
Sub Auto_Open() Application.OnTime Now(), "Arange" End Sub
Sub Arange() Workbooks.Open Filename:="2つ目のファイルのパス" Workbooks.Open Filename:="3つ目のファイルのパス" Windows.Arrange ArrangeStyle:=xlHorizontal End Sub
こうすると、どうでしょうか。
(β) 2016/06/16(木) 22:32
APIのSleep関数はCPUを開放せずに指定時間まで回り続けるので、描画処理等の動く隙はできず、意味がないでしょう。
ファイルを読み込んだ後、整列前にDoEventsを入れると改善されませんか?
これでも駄目ならば、グラボの問題かも知れませんので、「ファイル」−「オプション」の「詳細設定」にある、
「ハードウェアのアクセラレータを無効にする」にチェックを入れてみてください。
(???) 2016/06/17(金) 09:08
(シュウ) 2016/06/17(金) 22:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.