Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAでグラフを選択する

Word VBAでグラフを選択する

動作検証バージョン:Windows 11 Home + 64bit Word バージョン 2403(ビルド17425.20000クイック実行)ベータチャネル

「word vba グラフ選択」
という検索キーワードでアクセスがありました。

既にお伝えしているとおり、Word文書上のグラフは2種類あります。
行内オブジェクトのグラフと、浮動オブジェクトのグラフです。

この記事では、グラフを選択する(エラー処理を含んだ)Wordマクロを2つご紹介しておきます。

[スポンサードリンク]

行内オブジェクトのグラフを選択するサンプルマクロ

以下のWordマクロを実行すると、アクティブ文書の1つ目の行内オブジェクトのグラフを選択できます。

Sub 行内オブジェクトのグラフを選択する()
On Error GoTo ErrHandl
 
 With ActiveDocument.InlineShapes(1)
  If .HasChart Then
   .Chart.Select
  End If
 End With

Exit Sub
ErrHandl:
 MsgBox "アクティブ文書には行内オブジェクトが存在しません。"
 Err.Clear
End Sub

InlineShapes.Itemメソッドで取得したInlineShapeオブジェクトで、グラフを持つInlineShapeかを判定するHasChartプロパティがTrueだったときに、

With ActiveDocument.InlineShapes(1)
 If .HasChart Then
  .Chart.Select

Chart.Selectメソッドで選択を行っています。

  .Chart.Select

そもそもアクティブ文書に行内オブジェクトが存在しないときには実行時エラーが発生してしまうため、On Error処理を入れています。

On Error GoTo ErrHandl

(途中省略)

Exit Sub
ErrHandl:
 MsgBox "アクティブ文書には行内オブジェクトが存在しません。"
 Err.Clear

浮動オブジェクトのグラフを選択するサンプルマクロ

以下のWordマクロを実行すると、アクティブ文書の1つ目の浮動オブジェクトのグラフを選択できます。

Sub 浮動オブジェクトのグラフを選択する()
On Error GoTo ErrHandl
 
 With ActiveDocument.Shapes(1)
  If .HasChart Then
   .Chart.Select
  End If
 End With

Exit Sub
ErrHandl:
 MsgBox "アクティブ文書には浮動オブジェクトが存在しません。"
 Err.Clear
End Sub

先ほどの行内オブジェクトのグラフ選択で

With ActiveDocument.InlineShapes(1)

であった行が、

With ActiveDocument.Shapes(1)

になっている点が異なります。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAでグラフを選択する

「Shape・図形」の記事一覧

検索


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

.