2017-01-10 9 views
0

私はこの質問に対する答えを見つけようと何時間も探していますが、役に立たないので、私はここで答えを見つけることができます。PowerPoint VBAでのみ名前でグラフを参照する

PowerPointの既存のグラフを参照する変数を作成して、データの自動化を開始できます。私は、その名前でチャートを参照して、非常に簡単にしたいのですが、私が何をしても、私はPPTに満足できるChartアドレスを与えることはできません。

私は以下のほぼすべての可能なバリエーションを試してみましたが、成功せずにいます

Dim chrtPP As PowerPoint.Chart 

Set chrtPP = ActivePresentation.Slides(1).Shapes.Charts("Chart3") 

誰かが私が間違ってやっているものを私に教えていただけますか?

ありがとうございます!

+0

PowerPointがないですヘクタールExcelが行うようなチャートコレクション。シェイプがあり、シェイプにはチャートが含まれている可能性があります(または、Excelのペーストされたコンテンツの場合は、チャートです)。あなたの状況ではActivePresentation.Slides(1).Shapes。( "Chart3")それを行う必要があります(つまり、.Charts部分を削除します) –

答えて

0

名前でシェイプを参照する必要があります(PowerPointの「シェイプ」は実際にはスライド上のオブジェクトであり、シンプルなシェイプ、テキストボックス、テーブル、チャート、グループ、メディアクリップなどです)。 PowerPoint 2010以降では、Alt + F10を押して選択枠を開いて、選択したチャートオブジェクトの名前を探します。これは、標準チャートオブジェクトまたはプレースホルダオブジェクト内のチャートである可能性があります。次の:!

Option Explicit 

Sub ChartStuff() 
    Dim oShp As Shape 
    Dim oCht As Chart 

    Set oShp = ActivePresentation.Slides(1).Shapes("Chart 3") 
    If oShp.HasChart Then 
    Set oCht = oShp.Chart 
    End If 

    ' Do stuff with your chart 
    If oCht.HasTitle Then Debug.Print oCht.ChartTitle.Text 

    ' Clean up 
    Set oShp = Nothing 
    Set oCht = Nothing 
End Sub 

プログラミングPowerPointの鍵は、それは非常に紛らわしいですと「形」のオブジェクトモデルでオブジェクト名を無視する

関連する問題