|
こんにちは、返信ありがとうございます。
修正していただいたコードを試してみているのですが、どうも私のPC環境のせいなのか、うまく整列できないようです。(Windwos2000&Word2000)
ウィンドウサイズが変わる間の動作が影響しているかと思い、間に時間待ちをしてみるといいようです。
ウィンドウの画面を止める方法があればまた様子が違うかもしれません。こうなってくるとVBAでは難しいものでしょうか?
Word内でしたらScreenupdattingプロパティを使えるのですが。
Sub WinWordArrange()
' 参照設定 Microsoft Shell Controls And Automation
Dim myShell As Shell32.Shell
Dim windowLoop As Window
Dim waitTimer As Single
'
Set myShell = CreateObject("Shell.Application")
myShell.MinimizeAll
'
waitTimer = Timer
Do: DoEvents: Loop While Timer - waitTimer < 0.2
For Each windowLoop In Windows
With windowLoop
.Activate
.WindowState = wdWindowStateMaximize
End With
Next windowLoop
'
waitTimer = Timer
Do: DoEvents: Loop While Timer - waitTimer < 0.2
'myShell.TileVertically ' 左右に並べて表示
myShell.TileVertically ' 上下に並べて表示
'myShell.CascadeWindows ' 重ねて表示
'
Set myShell = Nothing
End Sub
|
|