「word vba 本文枠 サイズ 取得」
という検索で、このサイト・インストラクターのネタ帳にアクセスした方がいらっしゃいました。
Word VBAで、文書の本文部分のサイズを取得する方法を探している方による検索です。
本文の横幅を取得するサンプルマクロ
以下のSubプロシージャを実行すると、本文部分のサイズが(センチメートル単位で)メッセージボックスに表示されます。
With ActiveDocument.PageSetup
MsgBox _
PointsToCentimeters _
(.PageWidth - .LeftMargin - .RightMargin)
End With
End Sub
サンプルマクロで行っている処理
WordのVBAでは、PageSetupオブジェクトに、ページ設定に関する情報がプロパティとしてまとめられています。
PageSetupオブジェクトの、
PageWidthプロパティで用紙の横幅
LeftMarginプロパティでページの左端から本文の左端までの距離
RightMarginプロパティでページの右端から本文の右端までの距離
が、それぞれ取得できます。
用紙全体の幅から、本文の左端までと本文の右端までを引き算すれば本文部分のサイズがわかります。
PageWidth・LeftMargin・RightMarginはいずれも単位がポイントの値を返しますから、PointsToCentimetersメソッドで、単位をセンチメートルに変換しています。
PointsToCentimeters _ (.PageWidth - .LeftMargin - .RightMargin)
なお、本文の高さを調べたいのなら、PageWidth・LeftMargin・RightMarginのかわりに、PageHeight・TopMargin・BottomMarginプロパティを利用すればOKです。
最終更新日時:2020-12-30 04:20
Home » ワードマクロ・Word VBAの使い方 » ページ設定・PageSetup » Word VBAで本文部分のサイズを取得する