Home » ワードマクロ・Word VBAの使い方 » Windowオブジェクト » ページ幅を基準に表示するWordマクロ

ページ幅を基準に表示するWordマクロ

対象:Word2007, Word2010, Word2013

「word vba ページ幅を基準に」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

2007以降のWordの場合、[表示]タブ-[ズーム]グループ-[ページ幅を基準に表示]ボタンをクリックすることで、

ページ幅を基準に表示するWordマクロ

用紙の横幅がWordウィンドウの幅にちょうどフィットするようにズーミングが行われます。

これをVBA(Visual Basic for Applications)で行うには、どんなコードにすればいいのかを探している方による検索です。

[スポンサードリンク]

ページ幅を基準に表示するサンプルマクロ

以下のようなマクロでページ幅を基準に表示することができます。


Sub ページ幅を基準に表示する()
 ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit
End Sub

サンプルマクロをどう作ったのか

上記のサンプルマクロを私がどうやって作ったのかを解説しておきましょう。

Wordで、ページ幅を基準に表示する操作をマクロ記録すると、以下のようなコードができます。
 ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit

先のサンプルマクロのコードととてもよく似たコードで、もちろんこのコードでページ幅を基準に表示することができます。

ですが、気になる部分があります。途中に出てくるActivePaneです。

「ActiveWindow.ActivePane.View...」というコードは、ActiveWindowプロパティでWindowオブジェクトを取得して、WindowオブジェクトのActivePaneプロパティでPaneオブジェクトを取得して、PaneオブジェクトのViewプロパティでViewオブジェクトを取得するというコードです。

ですが、Viewプロパティは他のオブジェクトにも存在するはずで、途中でわざわざPaneオブジェクトを取得する必要はないように感じたので、オブジェクトブラウザーで「View」を完全一致で検索してみました。

ページ幅を基準に表示するWordマクロ

すると上図のとおり、WindowオブジェクトにもViewオブジェクトを返すViewプロパティが存在していることがわかったので、サンプルマクロのような
 ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit
というコードにしたわけです。

全ファイルをページ幅を基準に表示するWordマクロ

以下のようなマクロにすれば開いている全Wordファイルで、ページ幅を基準に表示することができます。


Sub ページ幅を基準に表示する_全ファイル()

 Dim win As Window

 For Each win In Windows
  win.View.Zoom.PageFit = wdPageFitBestFit
 Next win

End Sub

全ウィンドウに対して、
 For Each win In Windows

先のサンプルマクロと同じ処理を繰り返しています。
  win.View.Zoom.PageFit = wdPageFitBestFit

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Windowオブジェクト » ページ幅を基準に表示するWordマクロ

TrackBack:0

TrackBack URL

Home » ワードマクロ・Word VBAの使い方 » Windowオブジェクト » ページ幅を基準に表示するWordマクロ

「Windowオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.