ブックの整列

<< エクセルVBAでワークブックの表示位置を設定する :前の記事

前回は、WindowsコレクションのTop・Leftプロパティを利用して、ワークブックの表示位置を設定する方法について解説しました。複数のワークブックの位置を個別に設定することもできますので、ブックウィンドウのサイズから計算して表示させるようにしましょう。また、事例で横並びを挙げましたが、ワークブックの整列を簡単に設定することもできます。今回は、ワークブックの整列について解説します。

目次

はじめに

こちらでは、Arrangeメソッドを利用してワークブックの整列を設定する方法について解説します。

利用するメソッド・関数について

今回利用するメソッド・関数は以下になります。

  • Arrangeメソッド
  • MsgBox関数

Arrangeメソッドとは

WindowsオブジェクトのArrangeメソッドワークブックの並び替え(整列)を設定します。

Windows.Arrange 引数ArrangeStyle

MsgBox関数とは

MsgBox関数ダイアログボックスにメッセージとボタンを表示し、どのボタンが押されたかを示す整数型の数値を返します

MsgBox "表示させる文字列"

ワークブックを整列するサンプルコード

今回のVBAコードはワークブックを整列するマクロになります。


Sub sample()

    Windows.Arrange ArrangeStyle:=xlArrangeStyleTiled
    
    MsgBox "並べて(既定値)表示しています。"

    Windows.Arrange ArrangeStyle:=xlArrangeStyleCascade
    
    MsgBox "重ねて表示しています。"
    
    Windows.Arrange ArrangeStyle:=xlArrangeStyleHorizontal
    
    MsgBox "上下に並べて表示しています。"
    
    Windows.Arrange ArrangeStyle:=xlArrangeStyleVertical
    
    MsgBox "左右に並べて表示しています。"
    
End Sub

実行結果

xlArrangeStyleTiled(並べて(既定値)表示)

並べて(既定値)表示

xlArrangeStyleCascade(重ねて表示)

重ねて表示

xlArrangeStyleHorizontal(上下に並べて表示)

上下に並べて表示

xlArrangeStyleVertical(左右に並べて表示)

左右に並べて表示

解説


Sub sample()

    Windows.Arrange ArrangeStyle:=xlArrangeStyleTiled
    
    MsgBox "並べて(既定値)表示しています。"

sampleプロシージャSubステートメントは引数の設定なしです。WindowsオブジェクトのArrangeメソッドの引数ArrangeStyleにxlArrangeStyleTiledを設定しています。こちらは開かれているワークブックがすべて画面に表示されるようにサイズを縮小して並べます。
MsgBox関数は、処理を一旦停止するために設けていますので、ワークブックが並べられているのを確認してから次の処理へ移動しましょう。


    Windows.Arrange ArrangeStyle:=xlArrangeStyleCascade
    
    MsgBox "重ねて表示しています。"

こちらでは、引数ArrangeStyleにxlArrangeStyleCascadeを設定しています。こちらは開いているワークブックのサイズが調整され、すべてのタイトルバーが見えるように少しずつずらして重ねて表示されます。
重ねて表示されるのを確認ください。


    Windows.Arrange ArrangeStyle:=xlArrangeStyleHorizontal
    
    MsgBox "上下に並べて表示しています。"

こちらでは、引数ArrangeStyleにxlArrangeStyleHorizontalを設定しています。こちらはワークブックを同じサイズに縮小して、画面の上から下へ縦積みにします。
上下に並べて表示されるのを確認ください。


    Windows.Arrange ArrangeStyle:=xlArrangeStyleVertical
    
    MsgBox "左右に並べて表示しています。"

End Sub

こちらでは、引数ArrangeStyleにxlArrangeStyleVerticalを設定しています。こちらはワークブックを同じサイズに縮小して、画面の左から右へ横並びにします。
そして、最後はEndステートメントを利用してsampleプロシージャを終了させます。

まとめ

今回は、WindowsオブジェクトのArrangeメソッドを利用してワークブックの並び替え(整列)について解説しました。個別にサイズ指定もできますが、Arrangeメソッドを利用することで簡単に設定できることも覚えておきましょう。次回は、エクセルVBAでワークブックを表示・非表示にする方法について解説します。

エクセルVBAのウィンドウ操作一覧

次の記事: エクセルVBAでワークブックを表示・非表示にする >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

  • このエントリーをはてなブックマークに追加
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。