摘要
Microsoft Project 不會計算排程績效指數 (SPI) 或成本績效指數 (CPI)。 本文包含一個範例巨集,可計算專案中每項任務的 SPI 和 CPI。
注意:SPI 是已執行的工作與排程工作的比率 (BCWP/BCWS)。 CPI 是預算成本與實際成本的比例 (BCWP/ACWP)。更多資訊
注意事項:Microsoft 僅提供圖例的程式設計範例,不含明示或暗示的擔保。 這包括 (但不限於) 適用于特定目的之可操作性或適用性的暗示擔保。 本文假設您熟悉正在示範的程式設計語言,以及用來建立和進行程式偵錯工具的工具。 Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。
下列巨集會計算每個任務的排程績效索引 (SPI) 和成本績效指數 (CPI),將結果放入數值字段。 每個任務的 SPI 等於 BCWP/BCWS。 每個任務的 CPI 等於 BCWP/ACWP。 若要建立此巨集,請遵循下列步驟:
-
在 [工具] 功能表上,指向 [巨集],然後按一下 [巨集]。 針對 Project 2010,前往 [檢視] 索引標籤,並按下 [巨集] 按鈕。
-
在巨集名稱欄位,輸入「CalcSPI_CPI」,然後按兩下 [建立] 以開啟 Visual Basic 編輯器。
-
輸入下列副程式以建立巨集。
Sub CalcSPI_CPI() Dim t As Task For Each t In ActiveProject.Tasks If Not t Is Nothing Then If t.BCWS <> 0 Then t.Number10 = t.BCWP / t.BCWS 'this calculates SPI End If If t.ACWP <> 0 Then t.Number11 = t.BCWP / t.ACWP 'this calculates CPI End If End If Next t End Sub 注意:此範例使用了 Number10 和 Number11 欄位。 您可以使用任何其他可用的數字和字母欄位。 您可能也想要使用 Formatfunction 來格式化結果。
-
在 [Visual Basic 編輯器] 的 [檔案] 功能表上,按一下 [關閉並返回 Microsoft Project]。
-
在 Microsoft Project 中的 [工具] 功能表上,指向 [巨集],然後按一下 [巨集]。 針對 Project 2010,前往 [檢視] 索引標籤,並按下 [巨集] 按鈕。
-
在巨集清單中,按兩下CalcSPI_CPI。 按一下 [執行]。
若要查看巨集的結果,請將 Number10 和 Number11 字段插入工作表格中。 若要這麼做,請按照下列步驟進行:
-
在 [插入] 功能表上,按一下 [資料行]。
針對 Project 2010,請前往 [格式] 索引標籤,然後按兩下 [插入資料行] 按鈕。 -
在 [欄位名稱] 清單中,按一下 [Number10]。
-
按一下 [確定]。
-
對 [Number11] 欄位重複步驟 1 到 3。