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

Word VBAで図形の位置を自在に操作する方法

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

Word文書に図形を挿入して位置を調整したいけれど、VBA(Visual Basic for Applications)を使うのは難しそうと思っていませんか?でも大丈夫、今回は初心者の方でもわかりやすく、Word VBAで図形の位置を自在に操作する方法をご紹介します。これを読めば、図形をページの好きな場所にピタッと配置できるようになりますよ!

スポンサーリンク

Word VBAで図形の位置を設定する基本のキ

Wordのイメージ

Wordのイメージ

まずは、Word VBAで図形の位置を設定するための基本的なコードをご紹介します。これを使えば、図形をページの上部や左端に配置することができます。

Sub 図形の位置を設定()
    Dim shp As Shape
    Set shp = ActiveDocument.Shapes.AddShape(msoShapeRectangle, 100, 100, 200, 100)
    With shp
        .Top = CentimetersToPoints(2) ' 上から2cmの位置に配置
        .Left = CentimetersToPoints(3) ' 左から3cmの位置に配置
    End With
End Sub

このコードでは、長方形の図形を文書に追加し、その位置を上から2cm、左から3cmの位置に設定しています。
ポイントは、

CentimetersToPoints

関数を使って、センチメートル単位で指定しているところです。
これで、図形をページ上の指定した位置に配置することができます。

図形の位置を段落やページに合わせて調整する方法

図形をページの特定の位置に配置するだけでなく、段落やページに合わせて位置を調整することもできます。これにより、文書のレイアウトがさらに整います。

Sub 図形の位置を段落に合わせる()
    Dim shp As Shape
    Set shp = ActiveDocument.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100)
    With shp
        .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph ' 段落に対して位置を設定
        .Top = CentimetersToPoints(1) ' 上から1cmの位置に配置
        .RelativeHorizontalPosition = wdRelativeHorizontalPositionLeftMargin ' 左マージンに対して位置を設定
        .Left = CentimetersToPoints(2) ' 左から2cmの位置に配置
    End With
End Sub

このコードでは、楕円形の図形を文書に追加し、その位置を段落と左マージンに対して相対的に設定しています。

RelativeVerticalPosition

RelativeHorizontalPosition

を使うことで、図形の位置をより柔軟に調整することができます。

図形の位置をページの特定の場所に固定する方法

図形をページの特定の場所に固定したい場合、ページの範囲を指定して図形を配置する方法があります。これにより、文書の内容が変更されても、図形の位置がずれにくくなります。

Sub 図形の位置をページに固定()
    Dim shp As Shape
    Dim pg As Range
    Set pg = ActiveDocument.GoTo(wdGoToPage, wdGoToAbsolute, 1) ' 1ページ目を指定
    Set shp = ActiveDocument.Shapes.AddShape(msoShapeRectangle, 100, 100, 200, 100)
    With shp
        .Anchor = pg ' ページの範囲に図形を固定
        .Top = CentimetersToPoints(2) ' 上から2cmの位置に配置
        .Left = CentimetersToPoints(3) ' 左から3cmの位置に配置
    End With
End Sub

このコードでは、1ページ目の範囲を指定し、その範囲に図形を固定しています。

Anchor

プロパティを使うことで、図形をページの特定の場所に固定することができます。

よくある質問や疑問

Q1: VBAのコードを実行するにはどうすればいいですか?

VBAのコードを実行するには、まずWordで「Alt + F11」を押してVBAエディタを開きます。新しいモジュールを挿入し、そこにコードを貼り付けて実行することができます。

Q2: 図形のサイズを変更するにはどうすればいいですか?

図形のサイズを変更するには、

Width

Height

プロパティを使います。例えば、

shp.Width = CentimetersToPoints(5)

とすることで、図形の幅を5cmに設定できます。

Q3: 複数の図形を一度に配置するにはどうすればいいですか?

複数の図形を一度に配置するには、

For Each

ループを使って、各図形の位置を設定することができます。例えば、複数の図形をページの上部に並べることができます。

まとめ

今回は、Word VBAを使って図形の位置を自在に操作する方法をご紹介しました。
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をコピーしました