概要
Microsoft Project、スケジュール パフォーマンス インデックス (SPI) やコスト パフォーマンス インデックス (CPI) は計算されない。 この記事では、プロジェクト内の各タスクの SPI と CPI を計算するサンプル マクロについて説明します。
注: SPI は、スケジュールされた作業に対して実行される作業の比率です (BCWP/BCWS)。 CPI は、予算コストと実績コスト (BCWP/ACWP) の比率です。
詳細情報
注: Microsoft では、明示または黙示の保証なしに、説明のみを対象にプログラミングの例を提供しています。 これには、特定の目的に対する商品性または適性に関する黙示の保証が含まれますが、これらに限定されません。 この記事では、説明されているプログラミング言語と、プロシージャの作成とデバッグに使用されるツールに精通しているユーザーを想定しています。 Microsoft サポート エンジニアは、特定の手順の機能を説明するのに役立ちますが、これらの例を変更して、追加の機能を提供したり、特定の要件を満たす手順を構築したりは行う必要があります。
次のマクロは、各タスクのスケジュール パフォーマンス インデックス (SPI) とコスト パフォーマンス インデックス (CPI) を計算し、結果を数値フィールドに設定します。 各タスクの SPI は BCWP/BCWS と等しくなります。 各タスクの CPI は BCWP/ACWP と等しくなります。
このマクロを作成するには、次の手順に従います。
-
[ツール] メニューの [マクロ] をポイントして、[マクロ] をクリックします。 2010 Project、[表示] タブに移動し、[マクロ] ボタンをクリックします。
-
[マクロ名] フィールドに「CalcSPI_CPI」と入力し、[作成]をクリックして新しいエディター Visual Basicします。
-
次のコマンドを入力してマクロを作成します。
Sub CalcSPI_CPI() [タスクとして暗示] を選択する
For Each t In ActiveProject.Tasks
Not t Is Nothing の場合
t.BCWS が 0 <> 場合
t.Number10 = t.BCWP / t.BCWS 'this calculates SPI
End If
t.ACWP が 0 <> 場合
t.Number11 = t.BCWP / t.ACWP 'this calculates CPI
End If
End If
次の t
End Sub
NOTE: この例では、[数値 10] フィールドと [数値 11] フィールドを使用します。 使用可能な他の数値フィールドと英数字フィールドを使用できます。 Formatfunction を使用して結果を書式設定する場合があります。 -
[エディター] Visual Basic[ファイル] メニューの [閉じてから戻る] をクリックMicrosoft Project。
-
[Microsoft Project] メニューの [マクロ] をポイントし、[マクロ] をクリックします。 2010 Project、[表示] タブに移動し、[マクロ] ボタンをクリックします。
-
マクロの一覧で、[マクロ] をCalcSPI_CPI。 [実行] をクリックします。
マクロの結果を表示するには、タスク テーブルに [数値 10] フィールドと [数値 11] フィールドを挿入します。 手順は次のとおりです。
-
[挿入] メニューの [列] をクリックします。
2010 Project、[書式] タブに移動し、[列の挿入]ボタンをクリックします。 -
[フィールド名] ボックスの一覧で、[数値 10] をクリックします。
-
[OK] をクリックします。
-
[数値 11] フィールドに対して手順 1 ~ 3 を繰り返 します。