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

Word VBAでページ幅を基準に表示する

対象: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
というコードにしたわけです。

最終更新日時:2021-05-06 16:09

[スポンサードリンク]

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

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

検索


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

.