動作検証バージョン: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
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
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でグラフを選択する