ブックの拡大・縮小
<< エクセルVBAでワークブックの表示・非表示設定 :前の記事
前回は、WindowsコレクションのVisibleプロパティを利用してワークブックの表示・非表示について解説しました。ユーザーに見せたくない場合などで利用されること多いです。今回は、ワークブックを拡大・縮小表示にする方法について解説します。
目次
はじめに
こちらでは、Zoomプロパティを利用してワークブックの拡大・縮小表示を設定する方法について解説します。
利用するプロパティ・関数について
今回利用するプロパティ・関数は以下になります。- Zoomプロパティ
- MsgBox関数
Zoomプロパティとは
WindowsコレクションのZoomプロパティはワークブックを拡大・縮小表示を設定します。
MsgBox関数とは
MsgBox関数はダイアログボックスにメッセージとボタンを表示し、どのボタンが押されたかを示す整数型の数値を返します。
ワークブックを拡大・縮小表示するサンプルコード
今回のVBAコードはワークブックを拡大・縮小表示するマクロになります。
Sub sample()
Windows("Book1").Zoom = 150
MsgBox "現在、150%サイズで表示しています。"
Windows("Book1").Zoom = True
MsgBox "任意のセル選択した範囲に適したサイズで表示しています"
Windows("Book1").Zoom = False
MsgBox "現在、通常サイズ(100%)で表示しています。"
End Sub
実行結果
Zoom = 150
Zoom = True
Zoom = False
解説
まず、サンプルコードを実行する前に任意で複数のセルを選択してください。処理中に選択した範囲で最適なサイズへ設定できるかを確認します。
Sub sample()
Windows("Book1").Zoom = 150
MsgBox "現在、150%サイズで表示しています。"
sampleプロシージャのSubステートメントは引数の設定なしです。WindowsコレクションのZoomプロパティに150を設定しています。Zoomプロパティの単位は「%(パーセント)」ですので150%で表示されます。
MsgBox関数は、処理を一旦停止するために設けていますので、ワークブックが150%に表示されているかを確認してから次の処理へ移動しましょう。
Windows("Book1").Zoom = True
MsgBox "任意のセル選択した範囲に適したサイズで表示しています"
こちらでは、WindowsコレクションのZoomプロパティにTrueを設定しています。これは実行前に任意のセルを指定した範囲で最適なサイズで表示されます。
最適な範囲で表示されているか確認してから次の処理へ移動しましょう。
Windows("Book1").Zoom = False
MsgBox "現在、通常サイズ(100%)で表示しています。"
End Sub
こちらでは、WindowsコレクションのZoomプロパティにFalseを設定しています。こちらは通常サイズ(100%)で表示されます。
そして、最後はEndステートメントを利用してsampleプロシージャを終了させます。
尚、Zoomプロパティの対象オブジェクトはWindowオブジェクトですので、ワークシートオブジェクトなどで利用するとエラーになります。よく間違える方が多いので注意しましょう。
まとめ
今回は、WindowsコレクションのZoomプロパティを利用してワークブックの拡大・縮小について解説しました。次回は、エクセルVBAでExcelのウィンドウを分割する方法について解説します。
エクセルVBAのウィンドウ操作一覧
次の記事: エクセルVBAでExcelのウィンドウを分割する >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。