[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA ウィンドウの整列について』(まじっく)
VBAでウィンドウの整列を行いたいのですが、行き詰ってしまったのでご教授お願いいたします。
まず、ブックは3つ以上開かれている状態です。 このうち、特定の2つのブックを「左右に並べて表示」したいのですが、 Arrangeメソッドを使用して、ActiveWorkbook引数をTrueにすると一つのブックが表示されるだけですし、 Falseにしても全てのブックが整列されてしまいます。
特定の2つのブックのみを並べて表示するにはどうすれば良いでしょうか? よろしくお願いします。
Excel2000,2003,2007,2010での動作を希望します。 私の環境は2003です。 Windows XP,Windows7
VBAをやり始めた頃に作ったものですが・・・、
Option Explicit Sub test() Call winArrange(Workbooks("book2"), Workbooks("book3")) End Sub Sub winArrange(kbook1 As Workbook, kbook2 As Workbook) Dim win As Window Application.ScreenUpdating = False For Each win In Application.Windows win.Visible = False Next kbook2.Windows(1).Visible = True kbook1.Windows(1).Visible = True Application.Windows.Arrange ArrangeStyle:=xlVertical For Each win In Application.Windows win.Visible = True Next kbook2.Activate kbook1.Activate Application.ScreenUpdating = True End Sub
パラメータとして渡すのは、ブックオブジェクトより、 Windowオブジェクトの方が良いですね!! それに代えて使ってください。
ichinose
ichinose様 一度全てのウィンドウを非表示にすれば良かったのですね。 今まであまりウィンドウ操作をしたことがなかったので、思いつきませんでした。 おかげさまで求めていたものができました! 本当にありがとうございました。
(まじっく)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.