Chart オブジェクト (Project)
Chart オブジェクトは、Project のレポートのグラフを表します。
注釈
Project の Chart オブジェクトには、他の Office アプリケーションが Office Art 用に実装する標準メンバーが含まれています。 たとえば、Word、Excel、PowerPoint の VBA オブジェクト モデルの Chart オブジェクトを参照してください。
Project では、グラフは Chart オブジェクトによって表されます。これは、Report オブジェクトの Shape オブジェクトまたは ShapeRange コレクションに含まれます。 Project オブジェクト モデル階層の Chart オブジェクトを示す図については、「 Application and Projects オブジェクト マップ」を参照してください。
注:
Chart オブジェクトのマクロ記録は実装されていません。 つまり、Project でマクロを記録し、グラフを手動で追加したり、グラフ要素を追加したり、レポートにグラフを手動で書式設定したりすると、グラフを追加および操作する手順は記録されません。
Shapes.AddChart メソッドを使用して、グラフをレポートに追加します。 Shape または ShapeRange にグラフが含まれているかどうかを判断するには、HasChart メソッドを使用します。
Project の Chart オブジェクトはイベントを実装しません。 そのため、Project のグラフをアニメーション化してマウス イベントを操作したり、 Select や Calculate などのイベントに応答したりすることはできません。これは Excel の場合と同様です。
例
次の例では、作業中のプロジェクトのタスクの単純なスカラー グラフを作成します。 グラフには、[ 実績作業時間]、[ 残存作業時間]、および [ 作業時間 ] の既定のフィールドが表示されます。
サンプル データを作成するには、新しいプロジェクトに 4 つのタスクを追加し、それらのタスクにローカル リソースを割り当て、期間と実績作業時間のさまざまな値を設定します。 たとえば、表 1 の値を試します。
表 1. 単純なグラフのサンプル データ
タスク名 | Duration | 実績作業時間 |
---|---|---|
T1 | 2d | 16 |
T2 | 5d | 19 |
T3 | 4d | 7 |
T4 | 2d | 0 |
Sub AddSimpleScalarChart()
Dim chartReport As Report
Dim reportName As String
' Add a report.
reportName = "Simple scalar chart"
Set chartReport = ActiveProject.Reports.Add(reportName)
' Add a chart.
Dim chartShape As Shape
Set chartShape = ActiveProject.Reports(reportName).Shapes.AddChart()
chartShape.Chart.SetElement (msoElementChartTitleCenteredOverlay)
chartShape.Chart.ChartTitle.Text = "Sample Chart for the Test1 project"
End Sub
AddSimpleScalarChart マクロを実行すると、レポートが作成され、グラフが追加されます。 グラフには既定の特徴があります。ただし、タイトルは、グラフの上の既定の位置ではなく、グラフにオーバーレイされる SetElement プロパティによって指定されます。
図 1. グラフは表 1 のデータを示しています
グラフを削除するには、グラフを含む図形を削除します。 次のマクロは、 AddSimpleScalarChart マクロによって作成されたレポートのグラフを削除し、空のレポートをアクティブ ビューのままにします。
Sub DeleteTheShape()
Dim i As Integer
Dim reportName As String
Dim theShape As MSProject.Shape
reportName = "Simple scalar chart"
For i = 1 To ActiveProject.Reports.Count
If ActiveProject.Reports(i).Name = reportName Then
Set theShape = ActiveProject.Reports(i).Shapes(1)
theShape.Delete
End If
Next i
End Sub
レポートを削除するには、別のビューに移動し、[ 開催者 ] ダイアログ ボックスを開きます。 レポートがアクティブな間は、レポートを削除できません。 オーガナイザーは、リボンの [開発者] タブと 、[デザイン] タブの [レポート] グループの [管理] メニューで使用できます。 [オーガナイザー] ダイアログ ボックスの [レポート] タブで、プロジェクト ウィンドウで [簡易スカラー グラフ] を選択し、[削除] を選択します。 または、次のマクロを実行してレポートを削除します。
Sub DeleteTheReport()
Dim i As Integer
Dim reportName As String
reportName = "Simple scalar chart"
' To delete the active report, change to another view.
ViewApplyEx Name:="&Gantt Chart"
ActiveProject.Reports(reportName).Delete
End Sub
メソッド
プロパティ
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。