「VBA パワポ activechart」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。
PowerPoint VBAで、アクティブなグラフを操作するコードを探していた方による検索でしょう。
PowerPoint VBAにActiveChartプロパティはない
まず申し上げなければならないのは、PowerPoint VBAに「ActiveChart」といった名前のプロパティは、存在しないという事実です。
オブジェクトブラウザーで「activechart」を検索しても、下図のとおり「該当項目が見つかりません。」と表示されるだけです。
仮に「active」をあいまい検索してみても、下図のとおりそれらしきプロパティ等は見当たりません。
Excel VBAの場合はアクティブになっているオブジェクトを取得する「ActiveCell」「ActiveChart」「ActiveSheet」といったプロパティが、いくつも用意されているのとは異なります。
PowerPointでアクティブなグラフを操作するサンプルマクロ
PowerPoint VBAの場合は、以下のように「ActiveWindow.Selection.ShapeRange(1).Chart」といったオブジェクトを取得するコード(オブジェクト式)で、アクティブなグラフを操作できるようになります。
On Error GoTo ErrHndl
Dim cht As Chart
Set cht = ActiveWindow.Selection.ShapeRange(1).Chart
Stop
Exit Sub ErrHndl:
MsgBox "グラフを選択してから実行してください。"
End Sub
PowerPoint上のグラフを選択しておいて、上記のSubプロシージャを実行するとアクティブなグラフを表すChartオブジェクトへの参照がオブジェクト変数chtに代入されます。
この状態でローカルウィンドウを表示すれば、
オブジェクト変数chtからどのようなデータやオブジェクトを操作できるかヒントを得られるはずです。
- Newer:VBAでオブジェクトを印刷する設定の変更
- Older:UsedRangeの1行目を除外したRangeを取得・選択する
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » グラフ・Chart » PowerPoint VBAでActiveChartは?