2017-10-31 3 views
1

私はPowerPointで作業していますが、質問はExcelで同じです。私は2つのチャートを区別できるようにしたいと思いますが、私が見る限り、ローカルウィンドウは私とかなり同じように見えます。 ChartType = xlColumnClusterBarShape = xlBoxなど、このような小さなものはたくさんあります。しかし、私はコンピュータではなく、実際にVBAをチェックして、あるチャートから他のチャートへのプロパティの違いをすべて列挙する方法があるかどうかを知りたいと思っています。私がチャートで何か違うものを見つけることができたら、私は、より合理的なやり方でそれらの違いを探すためにコーディングすることができると信じています。オブジェクトの内容が他のものと異なるかどうかを判断する方法は?

+0

VBAは、(オブジェクトのさまざまなプロパティを反復含むであろう)「反射」をサポートしていないので、タスクのこのタイプはかなり困難です。 –

+0

2つのチャートの名前が異なる...ウォッチウィンドウまたはローカルウィンドウを使用してチャートオブジェクトのプロパティを調べる – jsotola

+0

同じ一般的なタイプの2つのチャートの違いを分離する一般的なケースコードを作成する場合は、何百もの異なる属性を比較する必要があります。 2つの特定のチャートの相違点を特定するだけの場合は、それらの画像を保存して、すぐに前後に切り替えて、動いているものがあるかどうかを確認してください。そうすれば、オブジェクトモデルにもっと焦点を絞ることができます。 –

答えて

1

"私の目標は、y軸のラベルにパーセントの書式設定を持つグラフを見つけることです"
これはあなたがコメントで言ったことですが、あなたが質問で求めたものではありません。

このマクロはアクティブなプレゼンテーションでy軸が "0.0%"に設定されているチャートを検索し、どのスライド、名前、ID、タイプを表示します。軸が "0.00%"にフォーマットされている場合、これは見つからないことに注意してください。 フォーマットをチェックする一般的な%が見つかりませんでした。

Sub Test() 
For Each sld In ActivePresentation.Slides 
      For Each shp In sld.Shapes 

       If shp.HasChart Then 
        If shp.Chart.Axes(xlValue).TickLabels.NumberFormat = "0.0%" Then 
        message1 = "Name - " & shp.Name & " , Slide # - " & sld.SlideNumber & " , ID - " & shp.Id & " , type - " & shp.Type 
        MsgBox (message1) 
        End If 

       End If 

    Next shp 
    Next sld 
End Sub 
+0

:もしInstr(shp.Chart.Axes(xlValue).TickLabels.NumberFormat)> 0であれば、またはもし$ならば$(shp.Chart.Axes(xlValue).TickLabels.NumberFormat、1)= "%" –

+0

これはうまくいき、私の問題。ありがとうございました! – Pinlop

関連する問題