当サイトの記事にはプロモーションが含まれています。

Word VBAで画像の位置を取得・設定する方法【初心者向け解決ガイド】

パソコンパソコン・スマホ教室
スポンサーリンク

Word文書に挿入した画像や図形の位置をVBAで操作したいと思ったことはありませんか?例えば、画像をページの中央に配置したり、特定の位置に移動させたりすることができます。今回は、初心者の方でもわかりやすく、実際のコード例を交えて解説します。

スポンサーリンク

画像の位置を取得する方法

Wordのイメージ

Wordのイメージ

Word VBAでは、画像や図形の位置を取得するために、`Shape`オブジェクトの`Top`と`Left`プロパティを使用します。これらのプロパティは、画像の上端と左端からの距離をポイント単位で返します。

例えば、文書内の最初の画像の位置を取得するコードは以下のようになります

vba
Sub GetImagePosition()
Dim shp As Shape
Set shp = ActiveDocument.Shapes(1)
MsgBox "Top: " & shp.Top & " points, Left: " & shp.Left & " points"
End Sub

このコードを実行すると、最初の画像の上端と左端からの距離がメッセージボックスに表示されます。

画像の位置を設定する方法

画像の位置を設定するには、`Top`と`Left`プロパティに新しい値を代入します。例えば、画像をページの左上隅に配置するには以下のようにします

vba
Sub SetImagePosition()
Dim shp As Shape
Set shp = ActiveDocument.Shapes(1)
shp.Top = 0
shp.Left = 0
End Sub

このコードを実行すると、最初の画像がページの左上隅に配置されます。

画像を特定の位置に配置する方法

画像を特定の位置に配置するには、`RelativeHorizontalPosition`と`RelativeVerticalPosition`プロパティを使用して、配置の基準を設定します。例えば、画像をページの中央に配置するには以下のようにします

vba
Sub CenterImage()
Dim shp As Shape
Set shp = ActiveDocument.Shapes(1)
shp.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
shp.RelativeVerticalPosition = wdRelativeVerticalPositionPage
shp.Left = (ActiveDocument.PageSetup.PageWidth - shp.Width) / 2
shp.Top = (ActiveDocument.PageSetup.PageHeight - shp.Height) / 2
End Sub

このコードを実行すると、最初の画像がページの中央に配置されます。

よくある質問や疑問

Q1: 画像の位置を絶対的な位置で指定することはできますか?

はい、`Top`と`Left`プロパティを使用して、画像の位置を絶対的な位置で指定することができます。ただし、これらの値はページの上端と左端からの距離をポイント単位で指定する必要があります。

Q2: 複数の画像を一度に配置することはできますか?

はい、`For Each`ループを使用して、文書内のすべての画像を一度に処理することができます。例えば、すべての画像をページの中央に配置するには以下のようにします

vba
Sub CenterAllImages()
Dim shp As Shape
For Each shp In ActiveDocument.Shapes
shp.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
shp.RelativeVerticalPosition = wdRelativeVerticalPositionPage
shp.Left = (ActiveDocument.PageSetup.PageWidth - shp.Width) / 2
shp.Top = (ActiveDocument.PageSetup.PageHeight - shp.Height) / 2
Next shp
End Sub

このコードを実行すると、文書内のすべての画像がページの中央に配置されます。

まとめ

Word VBAを使用すると、画像や図形の位置を自由に操作することができます。初心者の方でも、上記のコード例を参考にしながら、自分の文書に合わせてカスタマイズしてみてください。操作に不安がある場合は、まずは少しずつ試してみることをおすすめします。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました